Monday, June 12, 2017

Wireless (secatetnya doang)

traffic:
- offered traffic
- carried traffic
- lost traffic, ada 3:
  - delay: traffic gagal tp masih di hold, kalo sistem membaik baru disambungkan lagi
  - antrian: ga masuk langsung tp masuk antrian dulu. sistem FIFO/FCFS
  - lost: hilang, ga tersambung dll lagi

Intensitas Erlang
A = C * T

A: rata" pendudukan jaringan dalam 1 jam
C: banyak pembicaraan
T: waktu (jam)

contoh: ada 3000 pembicaraan. rata" pembicaraan 3 menit. intensitas traffic?
jawab:
  diket C= 3000; T= 3/60;
  A = C * T
      = 3000 * 3/60 = 150 erlang

1 erlang:
  1 TU (traffic unit)
  36 CCS (cent call second)
  36 HCS (hundred call second)
  36 UC (unit call)
  30 EHBC (equaled busy hour call)

Thursday, June 08, 2017

MPPL - Kuis 2 (Setelah UTS)

1. Seseorang disebut memiliki responsibility atas suatu tugas bila memiliki ... terkait atas tugas tersebut: authority & accountability

2. Transparency selayaknya dilakukan dengan hal-hal berikut:
    1. mempublikasikan produk kerja ke stakeholder
    2. sharing informasi ke anggota pelaksana proyek
    3. mengacu pada pedoman/petunjuk buku

3. Menjalin relsi dengan manajemen puncak organisasi dalam pelaksanaan proyek sangatlah dianjurkan melalui hal-hal berikut:
    1. menjelaskan tentang potensi proyek kepada manajemen puncak, baik dari sisi profit / loss
    2. mendorong manajemen puncak mengambil keputusan dari sisi obyektif
    3. membantu manajemen puncak menerjemahkan keputusan di tingkat implementatif

4. Hal-hal yang selayaknya dilakukan manager proyek dalam memimpin bawahannya:
    1. bersedia menerima kritik dr bawahan
    2. transparan & obyektif dalam mengambil keputusan
    3. mengembangkan rencana kerja bersama bawahan

5. Penyebab kegagalam proyek piranti lunak outsourced:
    1. client "lepas tangan" dan tdk terlalu percaya pada vendor
    2. tidak terjalin komunikasi aktif antara client & vendor dlm pelaksanaan proyek
    3. vendor tdk bersikap terbuka terhadap client

6. Dalam pelaksanaan proyek piranti lunak, client selayaknya berkolaborasi sedini mungkin dengan vendor agar dapat: menyamakan sasaran & tolok ukur sukses proyek (?)

7. perbedaan antara proyek piranti lunak in-house & outsource terletak pada hal-hal berikut: (?)
    1. biaya pengembangan piranti lunak
    2. mutu piranti lunak yang dihasilkan
    3. mekanisme komunikasi selama pengerjaan proyek

8. software process improvement berkaitan erat dengan hal" berikut:
    1. perubahan mekanisme pengembangan piranti lunak ke arah yang lebih baik
    2. penerapan metode formal baik secara konseptual maupun implementatif
    3. penelusuran & pemantauan implementasi metode formal secara konsisten

9. SPI dapat dilakukan melalui penerapan proses/metodologi yang tepat, seperti: Capability Maturity Model (?)

10.DMAIC adalah pendekatan pada framework six sigma melalui tahap-tahap berikut:
    1. define opportunities
    2. measure performance
    3. analyze opportunity
    4. improve performance
    5. control performance

11. Jelaskan maksud dr istilah dalam manajemen proyek berikut ini dan hubunagnnya:
1. responsibility: seseorang responsible thd suatu tgs jika dia memiliki otoritas untuk melakukan task tersebut dan accountable thd penyelesaian task tsb

2. authority: jika seseorang memiliki kontrol yang cukup thd resources yang dibutuhkan untuk menyelesaikan tgs tsb

3. accountability: jika seseorang menerima konsekuensi secara profesional jika sebuh task mengalami failure dalam menjalani task tersebut

4. delegation: memberikan responsibility dr task" tertentu kepada tiap team member. manager harus memastikan seseorang memiliki otoritas yang cukup utk melakukannya dan accountable thd hasil task sblm di delegate.

12. Skema outsourced project secara singkat:
   1. prevent project failure: dgn cara mengkomunikasikan project goals scr berkala kpd vendor, membangun transparansi proyek, tidak melepas tugas seluruhnya pd vendor. langkah awal: collaborate with the vendor: tentukan scope & budget, satukan pemikiran project goals & success dengan vendor
   2. estimate the work secara realistis
   3. actively manage the project: know the team, don't be a hands-off client
   4. Build relationship with vendor's management & with the vendor team
   5. Maintain tracking & oversight: jangan berpegang pd vendor untuk tracking project plan & project schedule.

Tuesday, June 06, 2017

MPPL - Kuis 1 (Setelah UTS)

Panduan membaca ringkasan ini (eaa):
nomor yang ditulis = nomor dari kuis pak Pane
info setelah tanda ':' = jawaban kuis yang bener
tanda '>' = catatan tambahan dari slide
tanda '(?)' = jawaban masih diragukan

nb.
- ada beberapa soal kuis yang gw modif, misalkan 'berikut ini yang tidak termasuk ...' bs diubah jadi 'yang termasuk dalam ... adalah'
- jawaban belum tentu benar, tolong dicocokin lagi sama kunci jawaban/slide, soalnya gw bikin ini sambil belajar jg jd ga sepenuhnya liat dr kunci jawaban
Happy studying~

1. Secara sederhana, kualitas adalah: kesesuaian terhadap kebutuhan produk
    > testing tidak membuat software menjadi sempurna
    > jika requirement awal tidak diketahui dengan baik, maka akan sulit memberikan software yang sesuai dengan kebutuhan konsumen, karena kebutuhan tersebut tidak jelas diketahui.

2. Rencana uji / test plan sebaiknya memuat hal-hal berikut:
    1. Kasus uji/test case
        > test case adalah deskripsi dari interaksi tertentu yang dilakukan tester untuk menguji sebuah behaviour dari software.
   2. Mekanisme eksekusi pengujian
   3. Poin kebutuhan yang ingin diuji

3. Istilah triage dalam defect tracking system mengacu kepada hal-hal berikut:
    1. kaji ulang defect, khususnya sumber timbulnya defect tersebut
    2. strategi penulihan piranti lunak/ defect yang ditemukan setuntas mungkin
    3. prioritisasi defect berdasarkan dampaknya terhadap fungsionalitas piranti lunak secara keseluruhan

4. Smoke test adalah uji untuk: menguji representasi tipikal dari fungsionalitas piranti lunak yang ada
    > smoke test bukan merupakan pengganti untuk uji fungsionalitas piranti lunak yang aktual

5. Masalah yang umumnya timbul terkait dengan kegiatan estimasi adalah: waktu/effort dimark-up untuk kepentingan pribadi (?)

6. Broken build merupakan masalah yang muncul terkait dengan kegiatan programming dan dapat diatasi dengan: mengembangkan code berbasis test-driven (?)
    > broken build = programmer memberikan build yang doesn't work (kayanya maksudnya disini itu build versi lama, build yang ada syntax error, dll. kayanya ya), sehingga tester tidak mampu melakukan uji terhadapnya.

7. "Piranti lunak yang terinstalasi baik di sisi pengembang ternyata tidak dapat terinstalasi di sisi pengguna" adalah contoh masalah yang terkait dengan: Testing
    > masalah testing lainnya =
       1. missing requirement: sulit untuk ditemukan tester karena bahkan programmer yang membuat code-nya tidak dapat menemukannya saat melihat hasil kerjanya sendiri
       2. Obvious Bugs slipped through: bisa karena tester yang tdk berpengalaman, tester berpengalaman yang kurang cukup waktu untuk membuat test plan, dan release software yang dilakukan berdasarkan jadwal, bukan kualitas

   > masalah selain testing = requirements problems & programming problems
   > requirement problems antara lain = iteration abuse (programmer kirim build after build, user & stakeholder cuma make small changes to each build); scope creep (user & stakeholder membuat perubahan requirement setelah programming dimulai. perubahan biasanya kecil sehingga programmer setuju" saja untuk mengubah. padahal, hal tsb bisa memperlambat project)
   > cara handle requirement problems = requirement dibuat sejelas mungkin sebelum mulai dikerjakan; menggunakan change control process untuk handle changes yang masih ada

   > programming problems = haunted by old problems (old bugs suddenly reappear without warning), broken builds, spaghetti code (source code yang memiliki struktur kontrol kompleks dan berbelit-belit; kemungkinan terjadi karena me-maintain old code).
   > cara handle programming problems = menggunakan version control; menggunakan unit tests dan test-driven development; refactoring

8. Penyebab gagalnya perubahan dilaksanakan dalam suatu organisasi:
    1. pada dasarnya, perubahan bukanlah sesuatu yang nyaman untuk diterima
    2. perubahan dikonotasikan sebagai konsekuensi dari kesalahan di masa lalu
    3. tidak mudah meyakinkan bahwa perubahan akan membawa efek/akibat yang positif

9. Sindrom "not invented here" adalah dalih umum yang disalahgunakan untuk menolak: inovasi eksternal karena bukan ciptaan internal

10. "Gagal dengan cara konvensional lebih baik daripada sukses dengan cara inkonvensional" adalah anggapan untuk cari aman akibat manifestasi dari common excuse: it's too risky (?)

11. Jelaskan maksud dari pernyataan berikut ini = "testing does not make the software perfect"
     : jika requirement awal tidak diketahui dengan baik, maka akan sulit memberikan software yang sesuai dengan kebutuhan konsumen, karena kebutuhan tersebut tidak jelas diketahui.

12. Jelaskan 3 faktor yang dapat mendorong suksesnya penerapan perubahan di dalam suatu organisasi!
1. prepare your organization
    > ambil hal positif dari work yang sudah lewat
    > buat change terlihat straightforward
    > dapatkan dukungan dari tim
    > tunjukkan bahwa change dapat menyimpan lebih banyak waktu dan tenaga
    > tetap berpegang pada fakta
2. plan for change
    > buat dokumen vision & scope, yang mendeskripsikan scope of change
    > inspect & approve dokumen untuk mendapatkan konsensus
    > masukkan changes pada schedule
3. push for consensus
    > bantu organisasi untuk menyadari bahwa mereka memiliki masalah, dan tunjukkan bahwa anda memiliki solusinya.

Saturday, June 03, 2017

RTI - Qualitative Research

Penelitian Kualitatif
- bermaksud untuk memahami fenomena tentang apa yang dialami oleh subjek penelitian; misalnya perilaku, persepsi, motivasi, tindakan, dan lain-lain.
- Penelitian kualitatif merupakan penelitian yang tidak menggunakan model-model Matematika, Statistika, atau komputer.
- Proses penelitian dimulai dengan menyusun asumsi dasar dan aturan berpikir yang akan digunakan dalam penelitian. Asumsi dan aturan berpikir tersebut selanjutnya diterapkan secara sistematis dalam pengumpulan dan pengolahan data.
- Penelitian kualitatif banyak diterapkan dalam penelitian historis atau deskriptif.

Rumusan masalah dalam penelitian kualitatif
- upaya penelusuran dan penyusunan teori baru yang lebih dari sekedar menguji/mengonfirmasi teori yang ada
- menunjang penemuan teori subtantif, yaitu teori yang berasal dari data

Data kualitatif
- harus memenuhi syarat data yang baik, yaitu: akurat, relevan, up-to-date
- sumber data utama: kata" & tindakan
- teknik pengumpulan data: wawancara riset partisipatif, pengamatan, studi pustaka
- digunakan untuk menggambarkan fenomena sosial
- data harus dikuantifikasikan, caranya dapat diubah menjadi skor (misal pria = 1, wanita = 2) atau ranking (tidak puas = 1, cukup puas = 2, puas = 3)
- setelah itu dilakukan data processing, yaitu melalui tahap editing data & mengkode data

Metode Penelitian Kualitatif
1. wawancara: percakapan dengan maksud tertentu, berupa tanya jawab peneliti dengan narasumber (baik narasumber sebagai informan maupun responden)
2. observasi: untuk memahami sebuah fenomena berdasarkan pengetahuan/gagasan yang telah diketahui sebelumnya
3. etnographi: memfokuskan diri pada budaya milik sekelompok orang. sudah diperluas dengan memasukkan setiap kelompok dalam suatu organisasi (misal budaya bisnis dari suatu kelompok tertentu)

Analisa Data Kualitatif
- mencari hubungan/pola dari sumber data untuk menjawab hipotesis dan disajikan secara deskriptif
- inti dari analisa kualitatif:
  1. mendeskripsikan fenomena
  2. mengklarifikasi fenomena tersebut
  3. melihat keterikatan diantara konsep-konsep tersebut

Ada 3 macam kemungkinan kesalahan dalam pengambilan sampel penelitian kualitatif:
1. situasi sampel
2. periode waktu selama pengamatan berlangsung
3. selektivitas pada orang yang dijadikan sampel


RTI - Uji Hipotesis

Uji Hipotesis
- Uji Hipotesis adalah cabang Ilmu Statistika Inferensial yang dipergunakan untuk menguji kebenaran suatu pernyataan (hipotesis) secara Statistik dan menarik kesimpulan apakah menerima atau menolak pernyataan tersebut.
- H0 (hipotesis nol): hipotesis yang akan diuji kebenarannya.
- Ha / H1 (hipotesis alternatif): kebalikan dari H0.

- Langkah-langkah uji hipotesis:
  1. Tentukan formulasi hipotesis
  2. Tentukan taraf nyata
  3. Tentukan kriteria pengujian
  4. Hitung nilai uji statistik
  5. Tarik kesimpulan pengujian





LATIHAN SOAL (jawaban ada di slide week 11)
1. Seseorang berpendapat bahwa rata-rata jam kerja buruh di daerah A dan B sama dengan alternatif A lebih besar daripada B. Untuk itu, diambil sampel di kedua daerah tersebut, masing-masing 100 dan 70 dengan rata-rata dan simpangan baku 38 dan 9 jam per minggu serta 35 dan 7 jam per minggu. Ujilah pendapat tersebut dengan taraf nyata 5%! Untuk varians/ simpangan baku kedua populasi sama besar!

2. Hasil tangkapan 15 ekor ikan lemuru memiliki berat (kg) seperti pada data berikut:

1,21; 1,21; 1,23; 1,20; 1,21; 1,24; 1,22; 1,24; 1,21; 1,19; 1,19; 1,18; 1,19; 1,23; 1,18.

Jika taraf nyata 1%, dapatkah diyakini bahwa populasi ikan lemuru rata-rata memiliki berat 1,2 kg?

3. Populasi ikan lemuru hasil tangkapan purse seine memiliki panjang rata-rata 80 cm dengan simpangan baku 7 cm. Setelah 3 tahun beroperasi, konsumen meragukan panjang ikan yang ditangkap dengan alat tersebut. Guna meyakinkan keabsahan hipotesis itu, seorang peneliti mengambil sampel acak 100 ekor ikan lemuru dan diperoleh hasil perhitungan panjang rata-rata ikan adalah 83 cm dengan standar deviasinya tetap. Apakah ada alasan untuk meragukan bahwa rata-rata panjang ikan lemuru yang dihasilkan alat tangkap purse seine sama dengan 80 cm pada taraf signifikan 5%?

4. Untuk mengetahui apakah keanggotaan dalam organisasi mahasiswa memiliki akibat baik atau buruk terhadap prestasi akademik seseorang, diadakan penelitian mengenai mutu rata-rata prestasi akademik. Berikut ini data yang diperoleh selama periode 5 tahun.



Ujilah pada taraf nyata 1% apakah keanggotaan dalam organisasi mahasiswa berakibat buruk pada prestasi akademiknya dengan asumsi bahwa populasinya normal!

RTI - Quantitative Research

kuantitatif
- ciri: perhitungan, angka, kuantitas
- dasar: perhitungan statistik, spt chi kuadrat, persentase, rata-rata
- analisa statistik dipake buat mengetahui hubungan antar variabel


Langkah-langkah riset kuantitatif (Hasibuan, 2007)

rumusan masalah pada riset kuantitatif:
- deskriptif: berkenaan dengan keberadaan suatu variabel mandiri
- komparatif: membandingkan keberadaan satu variabel atau lebih pada dua atau lebih sampel yang berbeda/ waktu berbeda
- asosiatif: hubungan antara dua variabel atau lebih (hubungan ada 3 macam: kausal, interaktif/timbal-balik, simetris)

variabel penelitian kuantitatif
- variabel: sesuatu yang dapat diukur (cth: pendapat, kinerja, kepuasan) yang sifatnya berubah-ubah
- variabel penelitian: faktor yang berperan dalam peristiwa yang ingin diteliti
- 2 macam variabel penelitian:
  a. variabel bebas: var. yang dimanipulasi peneliti, faktor utama dlm penyelidikan yang dilakukan
  b. variabel terikat
- berdasarkan sifatnya, variabel dibagi dalam 2 bagian:
  1. variabel kuantitatif:
     *) menghasilkan data kuantitatif (yang dapat langsung diukur/hitung) melalui cara pencacahan, pengukuran/pemeriksaan lab lainnya
     *) dapat berupa data diskrit/kontinyu
     *) skala ukur: interval dan rasio
  2. variabel kualitatif
     *) menghasilkan data kualitatif (tidak dapat langsung diukur) melalui pengamatan
     *) data kualitatif dibuat menjadi data kualitatif melalui cara pemberian skor (scoring) agar dapat dianalisa memakai metode statistika
     *) data yang dihasilkan diskrit dengan skala ukur nominal/ordinal

Validity & Reliability
- Validity: menunjukkan ukuran yang benar-benar mengukur apa yang akan diukur.
- test dapat memiliki validitas tinggi bila test tersebut menjalankan fungsi ukurnya, atau memberikan hasil ukur sesuai dengan makna dan tujuan diadakannya test tersebut.

- Reliabilitas (keterandalan): mengukur sesuatu secara konsisten, apapun yang diukur dan jika pengukuran dilakukan dalam kondisi apapun akan memberikan hasil yang sama.


Hubungan validitas & reliabilitas (Hasibuan, 2007)

Collecting & tabulating data
- Data: kumpulan dari nilai-nilai yang mencerminkan karakteristik individu-individu dalam satu populasi
- Klasifikasi data:
  a. Berdasarkan cara perolehan: data primer & data sekunder
  b. Berdasarkan sumber data: data internal & data eksternal
  c. Berdasarkan jenis data: data kuantitatif & data kualitatif
  d. Berdasarkan sifat data: data diskrit & data kontinyu
  e. Berdasarkan waktu pengumpulan: data cross-section & data time series
- Data Tabulation: data yang telah diperoleh kemudian diklasifikasi dan diorganisasikan secara sistematis, lalu diolah secara logis menurut rancangan penelitian yang telah ditetapkan. data dapat ditampilkan dalam bentuk tabel & grafik.

Quantitative Analysis
- metode statistika yang umum digunakan:
1. Frequency Distribution
   - merupakan distribusi/tabel frekuensi yang digunakan untuk mengubah ungroup data menjadi group data dengan mengelompokannya kedalam beberapa kelas
   - distribusi frekuensi terbagi menjadi 2, yaitu kategorikal dan numerik
   - kategorikal: jika pengelompokan klasifikasi data berdasar pada keterangan yang bersifat kualitatif, seperti jenis kelamin, tingkat pendidikan, dll

2. Cross-tabulation
   - sebuah teknik visual yang memungkinkan peneliti menguji relasi antar variabel
   - juga berfungsi untuk memberi gambaran data yang telah dikumpulkan
   - Untuk menerangkan secara umum mengenai populasi yang diteliti biasanya digunakan statistik inferensial (inferential statistics).


3. Correlation
   - metode untuk menggambarkan hubungan satu variabel dengan yang lainnya
   - berfungsi untuk mengukur kekuatan hubungan (asosiasi) linier antar dua variabel
   - nilai: positif, negatif, nol (tidak ada hubungan)
   - biasanya diukur dengan koefisien (r) yang menginfikasikan seberapa banyak/besar/kuat hubungan dua variabel
   - range nilai yang mungkin: +1 sampai -1, makin tinggi menyatakan hubungan positif (semakin tinggi suatu variabel, semakin tinggi variabel lainnya) dan makin rendah menyatakan hubungan negatif (semakin tinggi suatu variabel, semakin rendah variabel lainnya)


4. Regression
- digunakan jika ingin memprediksi hasil penelitian kita menggunakan dua variabel atau lebih
- merupakan proses membuat fungsi/ model matematika yang dapat digunakan untuk memprediksi/menentukan satu variabel dari variabel lainnya
- Analisis regresi sederhana (bivariate linear regression) biasanya melibatkan dua variabel, yaitu:
  *) variabel terikat (dependent variable) yang merupakan variabel yang akan diprediksi (𝑦)
  *) variabel bebas (explanatory variable atau independent variable) yang merupakan variabel yang dapat dimanipulasi (𝑥).




- Multiple linear regression merupakan pengembangan dari simple linear regression
- digunakan untuk menilai hubungan dua/lebih variabel independen dengan satu variabel dependen kontinyu


Monday, January 16, 2017

Week 10 - Week 13 -- Exceptions, Date and Time API, Lambda Expressions

Week11
Rationale and Types of Exceptions
- Exception digunakan di Java untuk meng-handle events yang memengaruhi flow normal dari eksekusi app.
- Keuntungan exceptions:
1. memisahkan error-handling code dari main code program
2. menghandle error sampai call stack
3. dapat mengelompokkan exceptions yang mirip"
- Exceptions di java didefine oleh instance dr class Throwable. Class Exceptions menginclude class Throwable serta subclassnya.
- Checked Exceptions: dicek oleh compiler pada saat compile time. cth ClassNotFoundException
- Unchecked Exceptions: dicek pada saat runtime, merupakan subclass dari RuntimeException, termasuk RuntimeException sendiri. kebanyakan terjadi karena programming errors. cth: NullPointerException
- Error: uncheckes exceptions yang menandakan kondisi ekstrim yang mampu membuat app kita fail. contoh: OutOfMemoryError
- Defining Exceptions: exceptions harus memiliki 2 constructor, yang satunya tidak memiliki parameter apapun dan satunya memiliki 1 param String.
- gunakan keyword throw untuk melempar exceptions di Java.
- propagating exceptions: exceptions dapat diberikan sampai pada class main. gunakan keyword throws.
- Alter the program flow:
1. try-catch: basic, kalo ada exceptions statement setelah throw gadilakukan
2. try-finally: finally slalu dilakukan kecuali kalau program di-terminate sebelum sampe ke finally
3. try-catch-finally
4. try-with-resource-statement: didalam kurung try ada statement/code, setelah itu baru throw ...
5. multi-catch clause: dlm 1 try ada banyak catch.

Common Checked Exceptions:
- ClassNotFoundException
- NoSuchMethodException
- FileNotFoundException
- IOException
- SQLException
- InterruptedIOException

Common Unchecked Exceptions:
- IllegalArgumentException
- NumberFormatException
- ArrayIndexOutOfBoundsException
- IndexOutOfBoundsException
- NullPointerException
- IllegalStateException
- ClassCastException
- ArithmeticException

Common Errors:
- AssertionError
- ExceptionInInitializeError
- VirtualMachineError
- OutOfMemoryError
- NoClassDefFoundError

Assertions: statement pada program yang memungkinkan programmer untuk menguji asumsi dari program mereka.
- boolean value
- cth: assert stock>qty;
     : assert stock>qty : "stock is less than qty";

LAB SESSION
- using assertions
- create custom exception class
- try-with-resource stat
- multi-catch clause

Week12
Programming with Date & Time API
- 3 calendar data creation classes:
1. LocalTime Class: terdapat bbrp method declarations untuk mendukung pembuatan time (tanpa date / time zone).
cth: Localtime a = LocalTime.now(); LocalTime b = LocalTime.parse("12:00", DateTimeFormatter.ISO_TIME); LocalTime c = LocalTime.of(12,30,38);

2. LocalDate Class
cth: LocalDate d = LocalDate.now(); LocalDate e = LocalDate.parse("2016-10-01"); LocalDate f = LocalDate.of(2015,12,5);

3. LocalDateTime Class

Calendar Data Manipulation
- plus/minus methods:
LocalDateTime a = LocalDateTime.now();
a = a.plusYears(1).plusMonths(2).plusWeeks(3).plusDays(4).plusHours(5).plusMinutes(6).plusSeconds(7).plusNanos(8) //kalo minus tinggal ganti plus sama minus aja

Calendar Periods:
- Period: date-based amount terdiri dari tahun, bulan, hari
- Duration: time-based amount terdiri dari hari, jam, menit, detik, nanoseconds
- method dari class Period yang sering digunakan:
1. of[interval]
2. Parse
3. get[interval]
4. with[interval]
5. plus[interval]
6. minus[interval]
7. is[state]
8. between

Week13
Lambda Expression: closure-like construct (closure: kemampuan sebuah function yang dapat disimpan sebagai variabel).
- Lambda Expression support Functional Programming in Java & memiliki bbrp benefit antara lain:
1. Code Reduction -> to a single line
2. Improvement to the collection Library (easier iteration, filtering, sorting, counting, etc)
3. Improvement to the concurrency library
4. Lazy evaluation support through streams.

- Lambda Expression harus memiliki sebuah Functional Interface yang disebut juga sebagai SAM (Single Abstract Method)
- Functional Interface harus punya exacly 1 abstract method. Dapat memiliki satu atau lebih method default ataupun static methods.
- basic syntax dari lambda expression:
  (parameter list) -> { statements; }

- Untuk mengimplementasikan lambda expression dengan functional interface, kita dapat melakukan refactoring sebuah anonymous inner class kedalam lambda expression menggunakan Comparator FI.
- Comparator interface implemented from a class
- Comparator interface used with an anonymous inner class
- Comparator functional interface used with a lambda expression

cth ketika sorting sbh ArrayList dengan lambda expression, kita dapat menentukan desired ordering menggunakan Comparator.

- Predicate Functional Interface: utk tes boolean value

Sunday, January 15, 2017

Java - Inheritance, Interface, Encapsulation, Polymorphism, Casting (PBO 2 Week 9 & 10)

Week 9
Inheritance: konsep fundamental dlm bhs pemrograman Java yang memungkinkan class-class tertentu untuk inherit methods & instance dari sebuah general class.
- class yang meng-inherit abstract class dapat meng-override methods yang ada.
- sebuah class hanya bisa meng-extend satu class lainnya.

Abstract Class: class yang tdk bisa di instantiate dan harus di extend.
- abstract class dpt memiliki abstract methods dan dapat meng-extend abstract class lain tanpa mengimplementasikan method yang ada.

Interfaces: digunakan untuk mendefinisikan fungsionalitas untuk class-class yang meng-implement interface tersebut.
- sebuah class dapat meng-implement > 1 interface.

Encapsulation: konsep menyimpan data bersamaan dengan methods untuk mengolah data tersebut dalam satu discrete class.
- memungkinkan data & method hiding (disebut juga information hiding).

Access Modifier: keyword yang menandakan apa saja yang dapat mengakses methods & instance variables.
- public, protected, private

Information Hiding: konsep untuk menyembunyikan detil implementasi dari sebuah class dengan menggunakan restrictive access modifiers.  

Setter & Getter: final concept dari information hiding. Sebaiknya instance variable dibuat private. Dengan demikian, tdk ada class external yang mampu mengakses variables secara langsung. Jika dibutuhkan, dapat mengakses setter & getternya saja.

LAB SESSION
- JavaDB
- Java Data Object
- Java Database Connectivity
- PreparedStatement
- Transactions

Week10
Polymorphism: sebuah object dapat berperan sebagai object lain dengan tipe yang berbeda dari original type-nya.
- dapat terjadi jika sebuah class meng-inherit class lain.
- Polymorphism juga dapat terjadi ketika sebuah class meng-implements interface, karena class tersebut harus memiliki methods yang sama seperti interface-nya, sehingga class tersebut dapat dianggap sebagai instance dari interface.

Casting: memungkinkan sebuah object untuk di-convert kembali menjadi original runtime type atau  type dari superclass nya.
- untuk melakukan casting, type diletakkan didalam tanda kurung ().
   double avg = 3.79;
   float gpa = (float) avg;

A. Casting Primitives: harus secara eksplisit agar tidak kehilangan precision saat konversi.
- Precision dapat hilang ketika: larger primitive di cast ke smaller primitives; floating point decimal di cast ke whole number primitive types.

B. Casting between primitives & Objects: dengan auto boxing & auto unboxing.
- Auto Boxing: wrap primitive value kedalam wrapper class yang bersangkutan.
- Auto Unboxing: unwrap value dari wrapper class kedalam primitive value.

C. Casting Objects
- sebuah object dapat berperan menjadi object superclass nya.
- untuk dapat mengakses fitur spesifik dari specific class, sebuah general class harus di cast kembali dengan specific class tersebut.
- contoh:
class Bank(){
  public bankMethod(){ return "Bank";};
}
class Account extends Bank{
  public bankMethod(){ return "Account";};
  public accountMethod(){ return "AccMethod";};
}

public class TestCast{
  public static void main (String args[]){
    Bank a = new Bank();
    Bank b = new Account();
    Account c = new Account();

    sout(a.bankMethod()); //Bank
    sout(b.bankMethod()); //Account
    sout(c.bankMethod()); //Account

    sout(b.accountMethod()); //invalid
    sout((Account)b.accountMethod()); //Account
  }
}

LAB SESSION
- Polymorphism via Interface & Inheritance
- Casting between primitives & objects

Sunday, January 08, 2017

Rekayasa Piranti Lunak - Risk Management

INTRODUCTION
- Risk: masalah potensial
- Karakteristik: ketidakpastian (may/may not happen); Loss (risk benar-benar terjadi dan menyebabkan loss / konsekuensi yang tdk diinginkan)

Macam-macam Risk:
1. Project Risks -> mengancam project plan; jika terjadi, kemungkinan project schedule dapat mengalami kemunduran dan meningkatkan costs

2. Technical Risk -> mengancam kualitas dan aktualitas (timeliness) software yg ingin diproduksil jika terjadi, implementation dapat menjadi sulit atau bahkan tdk mungkin

3. Business Risk -> mengancam viability (kelangsungan hidup) software yg sedang dibangun; jika terjadi, dapat membahayakan project atau product tsb
   Sub kategori Business Risks:
   1. Market Risk - membangun software yang tidak diinginkan orang
   2. Strategic Risk - membangun software yang tidak sesuai dengan keseluruhan strategi bisnis perusahaan
   3. Sales Risk - membangun software dimana tim sales tidak tahu cara memasarkannya
   4. Management Risk - kehilangan support dari senior management karena change in focus / change in people
   5. Budget Risk - kehilangan anggaran atau komitmen staf (pegawai)

4. Known Risk -> Risk yang mungkin belum ter-cover setelah dilakukan evaluasi terhadap project plan, business & technical environment tempat pengembangan software, ataupun sumber informasi terpercaya lainnya. (cth: unrealistic delivery date)

5. Predictable Risk -> risk yang dapat diramalkan berdasarkan past experience

6. Unpredictable Risk -> risk yang dapat dan sedang terjadi, namun sangat sulit untuk diidentifikasi terlebih dahulu

RISK STRATEGIES
1. Reactive: nothing is done about the risks until something goes wrong
2. Proactive: mengikuti langkah-langkah dari risk management; bertujuan untuk menghindari risk & memiliki contingency plan untuk menangani unavoidable risks secara terkontrol dan efektif

Langkah-langkah Risk Management:
1. Identifikasikan possible risks
2. Analisa tiap risk utk menentukan probabilitas terjadinya & impact yang akan diterima jika terjadi
3. Rank semua risk berdasarkan probability & impact
4. Develop sebuah contingency plan untuk menangani risk yang memiliki high probability & high impact

RISK IDENTIFICATION
-> systematic attempt to specify threats to the project plan
-> slh satu cara: Risk Item Checklist -> focused on known & predictable risk in specific subcategories

Known and Predictable Risk Categories:
1. Product Size - berkaitan dgn ukuran keseluruhan software yg ingin dibangun
2. Business Impact - berkaitan dgn constraint yang dikenakan oleh management atau marketplace
3. Customer Characteristics - berkaitan dgn kemampuan customer serta kemampuan developer untuk mengkomunikasikan kepada customer pada waktu yang tepat
4. Process Definition - berkaitan dgn ukuran software process mana yg sudah diikuti
5. Development Environment - berkaitan dgn availability & quality dr tools yg dipakai utk develop project
6. Technology to be built - berkaitan dgn kompleksitas software
7. Staff Size & Experience - berkaitan dgn pengalaman technical & project dr staff engineer yang akan membangun software

Risk Projection / Estimation Steps
1. Membuat skala persepsi kemungkinan dr sebuah risk (cth: 0-low, 10-high)
2. Menggambarkan konsekuensi dari risk
3. Estimasi impact dari risk terhadap project & product
4. Catat overall accuracy dari risk projection sehingga tidak ada kesalahpahaman

Risk Table
terdiri dari 5 kolom, yaitu:
1. Risk Summary - deskripsi singkat dari risk
2. Risk Category - slh 1 dari 7 known & predictable risk categories
3. Probability
4. Impact - (1) catastrophic (2) critical (3) marginal (4) neglectible
5. RMMM - Pointer to a paragraph in Risk Mitigation, Monitoring, & Management Plan

RMMM
Strategi efektif untuk menangani risk harus mencakup 3 hal:
1. Risk Mitigation
2. Risk Monitoring
3. Risk management & continency planning

- Risk mitigation (avoidance) is the primary strategy and is achieved through a plan
- During risk monitoring, the project manager monitors factors that may provide an indication of whether a risk is becoming more or less likely
- Risk monitoring has three objectives
  1. To assess whether predicted risks do, in fact, occur
  2. To ensure that risk aversion steps defined for the risk are being properly applied
  3. To collect information that can be used for future risk analysis

- Risk management and contingency planning assume that mitigation efforts have failed and that the risk has become a reality
- 7 Principles of Risk Management:
  1. Maintain a global perspective
     = View software risks within the context of a system and the business problem that is is intended to solve
  2. Take a forward-looking view
     = Think about risks that may arise in the future; establish contingency plans
  3. Encourage open communication
     = Encourage all stakeholders and users to point out risks at any time
  4. Integrate risk management
     = Integrate the consideration of risk into the software process
  5. Emphasize a continuous process of risk management
     = Modify identified risks as more becomes known and add new risks as better insight is achieved
  6. Develop a shared product vision
     = A shared vision by all stakeholders facilitates better risk identification and assessment
  7. Encourage teamwork when managing risk
     = Pool the skills and experience of all stakeholders when conducting risk management activities

Friday, January 06, 2017

RPL - Penjadwalan

Peningkatkan kualitas perencanaan dan pengendalian dalam menghadapi sejumlah kegiatan dan kompleksitas pekerjaan proyek, maka diperlukan metode dan teknik yang tepat, yakni:
1. Metode Bagan Balok (Bar Chart)
2. Analisis Jaringan Kerja (Network Analysis): Berupa penyajian perencanaan dan pengendalian, khususnya jadwal kegiatan proyek secara sistematis dan analitis untuk mendapatkan efisiensi dan efektivitas pekerjaan

1. Bar Chart (Gantt chart)

Tujuan:
Identifikasi terhadap unsur waktu dan urutan rencana kegiatan (pekerjaan) yang meliputi waktu mulai (starting time), waktu penyelesaian (Solution Time) dan saat pelaporan (Reporting)

Definisi:
Bagan batang horisontal menggambarkan pekerjaan proyek berdasarkan kalender, tiap batang mewakili satu pekerjaan proyek, dimana pekerjaan didaftar secara vertikal pada kolom kiri, dan pusat horisontal adalah garis waktu kalender.



2. Network Analysis
Hal penting yang diperlukan untuk setiap pekerjaan proyek,yaitu: 
1. Urutan rangkaian aktivitas untuk setiap pekerjaan 
    Urutan pekerjaan menunjukkan pekerjaan mana yang harus dikerjakan terlebih dahulu sebelum mengerjakan pekerjaan berikutnya Urutan pekerjaan digambarkan dalam diagram jaringan (network diagram) atau arrow diagram, dimana diagram jaringan ini menggunakan simbol: 
    1. Simpul (node) menggambarkan suatu kejadian (event) 
    2. Panah (arrow) menggambarkan suatu kegiatan (activity)

2. Waktu yang dibutuhkan dalam menyelesaikan setiap pekerjaan 

Contoh diagran jaringan:
keterangan:
1. 1,2,3,4,5 disebut sebagai event (kejadian) 
2. A,B,C,D,E disebut sebagai aktivitas (activity) 
3. Head event, kejadian yang mengakhiri suatu aktivitas 
4. Tail event, kejadian yang mengawali suatu aktivitas


Konsep diagram jaringan:
1. setiap aktivitas hanya diwakili oleh satu panah di jaringan, tidak ada sebuah aktivitas yang diwakili dua kali di jaringan (tidak ada kegiatan yang kembar)

2.  Tidak ada 2 aktivitas yang ditunjukkan oleh 1 tail event dan head event yang sama. Situasi seperti ini dapat terjadi pada 2 atau lebih aktivitas yang dapat dilakukan secara bersama, untuk itu digunakana aktivitas dummy (dummy activity)



Jalur Kritis
1. Jalur aktivitas kritis dari awal sampai akhir aktivitas didalam diagram jaringan, artinya jalur kritis menunjukan aktivitas-aktivitas kritis didalam proyek 
2. Disebut aktivitas kritis bila penundaan waktu aktivitas akan mempengaruhi waktu penyelesaian keseluruhan proyek 
3. Sedang aktivitas tidak kritis adalah jika kegiatan memilik waktu yang dapat ditunda 
4. Waktu yang dapat ditunda didalam aktivitas tidak kritis disebut dengan slack atau float. 
5. Jalur kritis ditunjukan oleh waktu paling lama dalam penyelesaian proyek, artinya jika ada satu saja aktivitas dijalur kritis yang tertunda, maka waktu penyelesaian proyek secara keseluruhan akan tertunda
6. Jalur kritis mempunyai 2 alasan: 
    a.Waktu penyelesaian proyek tidak dapat dikurangi kecuali satu atau lebih aktivitas dijalur kritis dapat dipercepat penyelesaiannya 
    b.Penundaan aktivitas dijalur kritis akan menyebabkan penundaan waktu penyelesaian dari proyek 
7. Penundaan di jalur tidak kritis tidak akan menunda waktu penyelesaian proyek, sejauh penundaan tidak melebihi waktu slack untuk setiap aktivitas tidak kritis 
8. Penentuan jalur kritis, ada dua cara: a. waktu terpanjang (terlama) dari setiap jalur b. nilai 0 (null) pada perhitungan slack



Teknik perhitungan dibagi atas 2 tahap pekerjaan, yaitu: 
1. Tahap Forward Pass, untuk menghitung ES 
2. Tahap Backward Pass, untuk menghitung LF

1. Tahap Forward Pass:

2. Tahap Backward Pass:


CONTOH KASUS!






Sumber: Slide (PDF) Penjadwalan by Muhammad Taufiq
 

RPL - Rencana Anggaran Biaya

Contoh penyusunan rencana anggaran biaya:

bab-bab di item pekerjaan sesuai langkah-langkah model prosesnya, dalam contoh diatas menggunakan model proses evolusioner yaitu communication - quick plan - quick design - construction of prototype - delivery and feedback.

jangan lupa harga satuan sudah termasuk keuntungan ya :)

ls itu intinya pengeluaran yang cuma dilakukan sekali bukan perbulan, misalnya beli komputer buat di kantor

Rekayasa Perangkat Lunak - Web Testing

1. Content Testing
   1.Menemukan syntatic error (typo,grammar mistake)
   2.Menemukan semantic error (kurang lengkapnya informasi
   3.Menemukan error di struktur organisasi yang ditampilkan ke user

2. Database Testing
    Beberapa Error yang terjadi
    1.Permintaan informasi client-side jarang dipresentasikan dalam bentuk form yang bisa di input menjadi database management system
    2.Database mungkin jauh dari server WebApp
    3.Data mentah dari database harus di transmisikan ke WebApp server
    4.Konten dinamik harus ditransmisikan ke client yang akhirnya menampilkannya ke user

3. User Interface Testing
    1.Interface Testing Strategy
    Strategi keseluruhan untuk interface testing strategy ,yaitu :

    (1) mengungkap kesalahan terkait dengan mekanisme interface tertentu.
    (2) mengungkap kesalahan dalam cara antarmuka mengimplementasikan semantik navigasi, fungsi webapp, atau konten display.

    Langkah –langkah untuk mencapai interface strategy testing :
• Fitur interface diuji untuk memastikan bahwa aturan desain, estetika, dan terkait konten visual yang tersedia untuk pengguna tanpa kesalahan.
• Mekanisme interface individu diuji dengan cara yang analog dengan Unit pengujian.
• Setiap mekanisme antarmuka diuji dalam konteks kasus penggunaan untuk kategori pengguna tertentu.
• Complete Interface  diuji terhadap use case yang sudah dipilih.
• Interface diuji dalam berbagai lingkungan (misalnya, browser) untuk memastikan bahwa hal itu akan kompatibel.

    2. Interface Testing Mechanism
        Ketika pengguna berinteraksi dengan web , interaksi terjadi melalui satu atau lebih mekanisme interface. Ada sebuah gambaran singkat dari pertimbangan testing  untuk setiap interface. Seperti :
        - Link
        - Form
        - Client-side scripting
        - Dynamic HTML
        - Pop-Up Windows
        - Streaming Content
        - Cookies

    3. Testing Interface Semantics

Testing Interface Semantics bertujuan untuk mengevaluasi seberapa baik desain melayani user, menawarkan arah yang jelas, memberikan feedback, dan mempertahankan konsistensi bahasa dan pendekatan.

    4. Usability Test
kegunaan usability mirip dengan Testing Interface Semantic yang juga mengevaluasi sejauh mana user dapat berinteraksi secara efektif dengan webapp dan sejauh mana webapp memberikan feedback yang berarti,

        Langkah pertama dalam Useability Testing adalah untuk mengidentifikasi satu set kategori useability dan menetapkan tujuan testing untuk setiap kategori, seperti :
        1. Interactivity - Apakah mekanisme interaksi (misalnya, menu pull-down, tombol,pointer) mudah dimengerti dan digunakan?
        2.     Layout - Apakah mekanisme navigasi, konten, dan fungsi ditempatkan dengan cara yang memungkinkan pengguna untuk menemukan mereka dengan cepat?
        3. Readability - Apakah teks ditulis dengan baik dan dapat dimengerti? Apakah representasi grafis mudah dimengerti?
        4. Aesthetics - Apakah tata letak, warna, jenis huruf, dan karakteristik terkait menyebabkan kemudahan menggunakan? Apakah pengguna "merasa nyaman" dengan tampilan dan nuansa dari webapp?
        5. Display characteristics - Apakah tampilan WebApp membuat penggunaan optimal dari ukuran layar dan resolusi?
        6. Time sensitivity – Apakah yang penting antara fitur, fungsi, dan konten akan  digunakan atau diperoleh pada waktu yang tepat?
        7. Personalization - Apakah penjahit WebApp sendiri untuk kebutuhan spesifik yang berbeda pengguna kategori atau pengguna individu?
        8. Accessibility - Apakah webapp yang dapat diakses oleh orang-orang yang memiliki  kekurangan fisik?

    5. Compability Test
Masalah kompatibilitas yang serius dapat ditemui.Misalnya :
- kecepatan download bisa menjadi tidak dapat diterima
- kurangnya diperlukan plug-in dapat membuat konten tidak tersedia
- Perbedaan Browser dapat mengubah tata letak halaman secara dramatis
- Gaya font dapat diubah dan menjadi tidak terbaca, atau bentuk dapat diatur secara tidak benar.

    6. Component-level Testing
Componen level testing juga disebut function testing, berfokus pada satu set tes yang mencoba untuk mengungkap kesalahan dalam fungsi webapp.
Componen level testing setelah bentuk data didefinisikan, pengguna memilih tombol atau mekanisme kontrol lainnya untuk memulai eksekusi. Metode desain uji kasus berikut termasuk :

        - Equivalence partitioning— Form input dinilai untuk menentukan apa kelas data yang relevan untuk fungsi kasus uji untuk setiap kelas dari masukan yang berasal dan dieksekusi, sementara lainnya kelas input tetap konstan.

        - Boundary value analysis—Misalnya, fungsi perhitungan pengiriman sebelumnya dicatat meminta jumlah maksimum hari yang diperlukan untuk pengiriman produk.

        - Path testing—Tujuannya adalah untuk mengungkap kesalahan yang terjadi selama penanganan kesalahan(Misalnya, pesan kesalahan yang tidak benar atau tidak ada, WebApp kegagalan sebagai konsekuensi dari kesalahan, keluaran salah didorong oleh masukan yang salah, efek samping yang terkait dengan pengolahan komponen).

    7. Navigation Testing
        Tugas dari navigation testing adalah :

        1. Untuk memastikan bahwa mekanisme yang memungkinkan
pengguna webapp untuk melakukan perjalanan melalui WebApp adalah semua fungsional.
        2. Untuk memvalidasi bahwa setiap navigasi Unit semantik (NSU) dapat dicapai dengan tepat  kategori pengguna.


    8. Configuration Testing
        Testing ini untuk menguji kemungkinan konfigurasi cient-side dan server-side untuk memastikan bahwa pengalaman user semuanya akan sama dan untuk memisahkan kesalahan yang mungkinkan kesalahan kesalahan khusus pada konfigurasi tertentu.

    9. Security Testing
        Suatu hal kompleks yang harus sepenuhnya dipahami sebelum pengujian keamanan yang efektif dapat tercapai.
        WebApps, Client-Side dan Server-Side merupakan target yang menarik bagi hacker untuk mencapai apa yang mereka inginkan.
        Tugas Tester Keamanan yaitu mengungkapkan atau mencari kelemahan yang dapat dimanfaatkan oleh orang – orang dengan maksud tertentu.


    10. Performance Testing
        Tujuan:
        1. Untuk mengetahui bagaimana sistem merespon loading (jumlah pengguna, jumlah transaksi, volume keseluruhan data)
        2. Untuk mengumpulkan matriks yang dapat menyebabkan modifikasi desain untuk meningkatkan kinerja

    11. Load Testing
        Testing ini digunakan untuk menentukan bagaimana WebApp dan lingkungan Server-Side akan merespon berbagai kondisi pembebanan.

    12. Stress Testing
        Kelanjutan dari load testing, namun diberikan beban yang melebihi batas operasional.

Credits PPT dari Team Cena (RPL Adhi A)

Rekayasa Perangkat Lunak - Mengukur Kepuasan Konsumen

Ada 2 jenis kepuasan:
1. Kepuasan fungsional: kepuasan yang diperoleh dari pemakaian/fungsi suatu produk. contohnya karena makan jadi kenyang
2. Kepuasan psikologikal: kepuasan yang diperoleh dari atribut tak berwujud, contohnya kemewahan, pelayanan yang baik

Menurut Philip Kotler ada 4 metode untuk mengetahui kepuasan:
1. Sistem keluhan dan saran -> untuk mengumpulkan informasi langsung dari konsumen.
2. Survei kepuasan konsumen -> menunjukkan komunikasi 2 arah kepada konsumen dan menunjukkan perhatiannya pada konsumen.
3. Ghost Shopping: mengetahui kekuatan dan kelemahan pesaing dan membandingkannya dengan perusahaan itu sendiri.
4. Analisis kehilangan konsumen -> tingkat kehilangan konsumen dapat menunjukkan kegagalan perusahaan dalam memuaskan konsumennya.

Populasi dan sampel
- Populasi adalah wilayah generalisasi, yang terdiri atas objek/subjek yang mempunyai kualitas dan karakteristik tertentu yang diterapkan oleh peneliti untuk dipelajari dan kemudian ditarik kesimpulannya (Sugiyono, 2006: 117).

- Sampel adalah bagian dari jumlah dan karakteristik yang dimiliki oleh populasi tersebut (Sugiyono, 2006: 118).

- 2 jenis pengambilan sampel: random sampling & nonrandom sampling

- Dikaitkan dengan besarnya sampel, selain tingkat kesalahan, ada lagi beberapa faktor lain yang perlu memperoleh pertimbangan yaitu:
(1) derajat keseragaman
(2) rencana analisis
(3) biaya
(4) waktu dan tenaga yang tersedia .
(Singarimbun dan Effendy, 1989).

- jika ukuran populasinya di atas 1000, sampel sekitar 10 % sudah cukup, tetapi jika ukuran populasinya sekitar 100, sampelnya paling sedikit 30%, dan kalau ukuran populasinya 30, maka sampelnya harus 100%.

- Krejcie dan Morgan (1970) dalam Uma Sekaran (1992) membuat daftar yang bisa dipakai untuk menentukan jumlah sampel:
(iya gw tau banyak, gausah dihafal juga ya :v)

Populasi (N)
Sampel (n)
Populasi (N)
Sampel (n)
Populasi (N)
Sampel (n)
10
10
220
140
1200
291
15
14
230
144
1300
297
20
19
240
148
1400
302
25
24
250
152
1500
306
30
28
260
155
1600
310
35
32
270
159
1700
313
40
36
280
162
1800
317
45
40
290
165
1900
320
50
44
300
169
2000
322
55
48
320
175
2200
327
60
52
340
181
2400
331
65
56
360
186
2600
335
70
59
380
191
2800
338
75
63
400
196
3000
341
80
66
420
201
3500
346
85
70
440
205
4000
351
90
73
460
210
4500
354
95
76
480
214
5000
357
100
80
500
217
6000
361
110
86
550
226
7000
364
120
92
600
234
8000
367
130
97
650
242
9000
368
140
103
700
248
10000
370
150
108
750
254
15000
375
160
113
800
260
20000
377
170
118
850
265
30000
379
180
123
900
269
40000
380
190
127
950
274
50000
381
200
132
1000
278
75000
382
210
136
1100
285
1000000
384

- untuk menghitung besar sampel minimal sebuah penelitian, rumus yang paling sering dipergunakan oleh para peneliti adalah:
a. Rumus Sampel Penelitian Cross-sectional
    ---> bisa dipelajari di: http://dienanalis.blogspot.co.id/2015/09/menghitung-besar-sampel-penelitian-uji.html

b. Rumus Sampel Penelitian Case Control dan Kohort
    ---> bisa dipelajari di: http://ranumra.blogspot.co.id/2013/04/rumus-case-control-penelitian-kasus.html

c. Penelitian Eksperimental
    ---> dalam penelitian eksperimental dilakukan manipulasi paling sedikit 1 variabel, mengontrol variabel lain yang relevan dan mengobservasi efek dan pengaruhnya terhadap satu atau lebih variabel terikat. sumber: eurekapendidikan.com 

Dimensi kepuasan (udh ada bahasan menurut Garvin di post sebelumnya)
-> menurut Irawan: 
    1. berwujud (tangible), 
    2. kehandalan (reliability), 
    3. cepat tanggap (responsiveness), 
    4. kepastian (assurance)
    5. empati (emphaty)

DeLone & McLean menyampaikan enam faktor yang menjadi dasar pengukuran keberhasilan sistem informasi:
1. kualitas informasi
2. kualitas sistem informasi
3. intensitas penggunaan sistem informasi (system use)
4. kepuasan pengguna akhir sistem informasi (end user satisfaction)
5. dampak individual (individual impact) dr sistem informasi
6. dampak organisasional (organizational impact) dr sistem informasi

Doll & Torkzadeh (1988) - 5 komponen user satisfaction:
1. Content
2. Accuracy
3. Format
4. Ease of use
5. Timeliness

lengkapnya bisa dilihat d tabel ini (sumber: slide)



MENGHITUNG NILAI AKHIR - SKALA LIKERT
A. PERTANYAAN POSITIF (+)
Skor 1. Sangat (tidak setuju/buruk/kurang sekali)
Skor 2. Tidak (setuju/baik/) atau kurang
Skor 3. Netral / Cukup
Skor 4. (Setuju/Baik/suka)
Skor 5. Sangat (setuju/Baik/Suka)

B. PERTANYAAN NEGATIF (-)
Skor 1. Sangat (setuju/Baik/Suka)
Skor 2. (Setuju/Baik/suka)
Skor 3. Netral / Cukup
Skor 4. Tidak (setuju/baik/) atau kurang
Skor 5. Sangat (tidak setuju/buruk/kurang sekali)


CRONBACH - ALFA
= untuk menghitung survei
---> bisa didownload & dipelajari di: https://www.dropbox.com/s/8xg3dwqifz3urox/cronbachalpha%28manual%29.pdf?dl=0