(18/10/17) Rabu ini bertepatan dengan deadline pengumpulan tugas individu Diagram UML - Sistem Manajemen Perpustakaan meliputi:
a. Use Case Diagram
b. Activity Diagram
c. Deskripsi alur normal, alur alternatif, dan eksepsi (jika ada) untuk kejadian Issuing Book dan Returning Book
d. Class Diagram
e. Sequence Diagram untuk Issuing Book dan Returning Book.
***=================================================================***
Kamis, 19 Oktober 2017
TM08 KPL Kosong
(18/10/17) Dikarenakan dosen kelas kami Pak Rizky sedang ada tugas dinas ke luar kota maka kelas minggu ini kosong dan pertemuan selanjutnya adalah minggu depan. Mengenai kelas pengganti akan diinformasikan kembali minggu depan.
Senin, 16 Oktober 2017
TM08 SIG
(16/10/17) Kelas SIG hari ini mempelajari Geoprocessing. Mempelajari beragam peta tematik Surabaya. Tugas mencari topik untuk mengimplementasikan Geoprocessing. Contoh di kelas: Mencari lahan yang cocok untuk menanam coklat, menggunakan beberapa peta tematik
TM07 Robotik
(13/10/17) Seperti yang sudah dijadwalkan, hari ini adalah demo untuk Tugas 1 - Line Follower.
Demo dilaksanakan di dalam kelas bergantian antar kelompok.
Kelompok saya (Kelompok 8, saya, Chris, Lucha, Stone, Wida) kebagian maju pertama (setelah kalah hompimpa dan suit sama kelompok-kelompok lain:" gacha ampas). Video demo robot menyusul.
Demo dilaksanakan di dalam kelas bergantian antar kelompok.
Kelompok saya (Kelompok 8, saya, Chris, Lucha, Stone, Wida) kebagian maju pertama (setelah kalah hompimpa dan suit sama kelompok-kelompok lain:" gacha ampas). Video demo robot menyusul.
TM07 TKTI :) (masih bertahan)
(12/10/17) Kelas hanya dihadiri oleh asdos (mahasiswa S2) dikarenakan Bu Licha berhalangan hadir (Prof Riyan juga tidak hadir).
Diumumkan bahwa UTS untuk kelas TKTI bersifat takehome test :))) hmmm baca aja sendiri yaaa :)))
UTS ini dikerjakan berkelompok sesuai kelompok domain yang dibagikan sejak pertemuan pertama TKTI. Tidak untungnya, kelompok Production yang tersisa hanyalah saya seorang dari 5 atau 6 mahasiswa entah saya lupa :))) yang lain sudah gugur (read: ngedrop).
Diumumkan bahwa UTS untuk kelas TKTI bersifat takehome test :))) hmmm baca aja sendiri yaaa :)))
UTS ini dikerjakan berkelompok sesuai kelompok domain yang dibagikan sejak pertemuan pertama TKTI. Tidak untungnya, kelompok Production yang tersisa hanyalah saya seorang dari 5 atau 6 mahasiswa entah saya lupa :))) yang lain sudah gugur (read: ngedrop).
TM07 Techno40
(12/10/17) Kelas kali ini mengerjakan resume yang akan diambil sebagai nilai UTS oleh Pak Wardoyo.
Penugasan resume: setiap mahasiswa membuat resume yang membahas poin-poin penting (setidaknya 3 poin) dari kuliah tamu TM06 (07/10/17) serta mengaitkannya dengan usulan ide individu yang telah dikumpulkan.
Penugasan resume: setiap mahasiswa membuat resume yang membahas poin-poin penting (setidaknya 3 poin) dari kuliah tamu TM06 (07/10/17) serta mengaitkannya dengan usulan ide individu yang telah dikumpulkan.
TM07 KPL
(11/10/17) Pada pertemuan kali ini, seperti yang sudah disepakati sebelumnya. Kelompok 9 (kelompokku sendiri) dan Kelompok 1 kebagian giliran untuk presentasi mengenai Design Pattern. Kelompok 9 mempresentasikan bab Command Pattern. Dan Kelompok 1 mempresentasikan bab Observer Pattern.
Sabtu, 14 Oktober 2017
TM07 SIG
(09/10/17) Pertemuan kali ini membahas tugas 1 digitizing, penugasan individu yang diberikan pada pertemuan sebelumnya. Disini Pak Hari menjelaskan bagian bagian tugas yang masih perlu revisi. Ditambah dengan penugasan kelanjutan dari tugas 1, yakni Map Composing, untuk menghasilkan peta jadi yang siap cetak.
TM07 PPL C
(09/10/17) Tidak ada pertemuan tatap muka di kelas, diganti dengan penugasan individu, sbb:
1. Studi kasus Library seperti di link www.programsfor mca.com/2012/ 03/ uml-diagrams-lib rary-mgmt-syste m.html
2. Gunakan PowerDesigner untuk membuat diagram pemodelan berikut:
a. Use Case Diagram
b. Activity Diagram
c. Buatlah deskripsi alur normal, alur alternatif, dan eksepsi (jika ada) untuk kejadian Issuing Book dan Returning Book
d. Class Diagram
e. Sequence Diagram untuk Issuing Book dan Returning Book.
3. Class Diagram dan Sequence Diagram silahkan dimodifikasi sendiri sesuai dengan alur yang dibuat di jawaban 2c.
4. File pemodelan dan alur (.doc/,pdf) jadikan ke dalam satu folder dan dicompress, beri nama [NRP].rar
5. Unggah tugas ke Elearning IF paling lambat Rabu, 18/10/2017.
--= Pengumuman UTS =--
1. UTS tulis diselenggarakan minggu depan TM ke-8 sesuai dengan jadwal kelas biasanya.
2. Materi mulai dari TM ke-1 sampai Sequence Diagram yang telah dipraktekkan di kelas di TM ke-6.
3. Mahasiswa wajib datang di kelas tepat waktu, (kelas C Senin pagi jam 7.30, kelas A Senin pagi jam 10, kelas B Rabu sore jam 15.30)
4. Bagi mahasiswa yang ijin/ berhalangan mengikuti UTS harap memberitahukan ke dosen H-1minggu.
Terima kasih.
1. Studi kasus Library seperti di link www.programsfor
2. Gunakan PowerDesigner untuk membuat diagram pemodelan berikut:
a. Use Case Diagram
b. Activity Diagram
c. Buatlah deskripsi alur normal, alur alternatif, dan eksepsi (jika ada) untuk kejadian Issuing Book dan Returning Book
d. Class Diagram
e. Sequence Diagram untuk Issuing Book dan Returning Book.
3. Class Diagram dan Sequence Diagram silahkan dimodifikasi sendiri sesuai dengan alur yang dibuat di jawaban 2c.
4. File pemodelan dan alur (.doc/,pdf) jadikan ke dalam satu folder dan dicompress, beri nama [NRP].rar
5. Unggah tugas ke Elearning IF paling lambat Rabu, 18/10/2017.
--= Pengumuman UTS =--
1. UTS tulis diselenggarakan
2. Materi mulai dari TM ke-1 sampai Sequence Diagram yang telah dipraktekkan di kelas di TM ke-6.
3. Mahasiswa wajib datang di kelas tepat waktu, (kelas C Senin pagi jam 7.30, kelas A Senin pagi jam 10, kelas B Rabu sore jam 15.30)
4. Bagi mahasiswa yang ijin/
Terima kasih.
Jumat, 13 Oktober 2017
Kepingin Mendokumentasi Tiap Minggu Perkuliahan!!!
Halo, sudah memasuki minggu ke-7 *semester 7* perkuliahan di Teknik Informatika, kampus perjuangan ITS Surabaya nih. Baru kepikiran buat nge-post setiap materi perkuliahan yang saya dapat dari awal TM01 tentunya. Semoga kesampaian ya, hehehe. Mungkin yang akan saya masukkan hanyalah poin-poin saja atau sekedar topik atau file yang berkaitan materi pada hari itu, yah karena saya manusia dan saya tak sesempurna itu buat mendokumentasi setiap apa yang disampaikan dosen di kelas:P. Stay tune><
Senin, 05 Juni 2017
MPPL Pembuatan Aplikasi Sistem Informasi SBMPTN Tahun 2017 (Final Project)
Evaluasi Akhir Semester (EAS) MPPL Kelas B diberikan dalam bentuk penugasan dokumen dan demo hasil. Penugasan diberikan pada hari Senin tanggal 29 Mei 2017, dan demo dijadwalkan pada pertemuan selanjutnya hari Senin tanggal 5 Juni 2017. Penugasan meliputi:
1. Buatlah TOR/ KAK untuk aplikasi yang akan dibangun
2. Buatlah Perencanaan Proyek untuk Aplikasi Seleksi
3. Buatlah monitoring proyek dengan menggunakan kurva S
Anggota Kelompok:
-Andre Exaudi Jeremy Rumapea. 5114100031.
-Monica Indah Habsari. 5114100060
-Christyanto Liman. 5114100087
A. Kerangka Acuan Kerja (KAK)
1. Buatlah TOR/ KAK untuk aplikasi yang akan dibangun
2. Buatlah Perencanaan Proyek untuk Aplikasi Seleksi
3. Buatlah monitoring proyek dengan menggunakan kurva S
Anggota Kelompok:
-Andre Exaudi Jeremy Rumapea. 5114100031.
-Monica Indah Habsari. 5114100060
-Christyanto Liman. 5114100087
A. Kerangka Acuan Kerja (KAK)
Final project-mppl-kerangka-acuan-kerja-kak-sbmptn-monica-indah-habsari from Monica Indah Habsari
B. Perencanaan Proyek
B. Perencanaan Proyek
Aplikasi sistem iinformasi seleksi bersama masuk perguruan tinggi negeri from Christianto Liman
C. Monitoring Proyek
C. Monitoring Proyek
Selasa, 09 Mei 2017
PBO ATM Case Study Part 2 (tugas 5)
Source code class ATM:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class ATM { private boolean userAuthenticated; // whether user is authenticated private int currentAccountNumber; // current user's account number private Screen screen; // ATM's screen private Keypad keypad; // ATM's keypad private CashDispenser cashDispenser; // ATM's cash dispenser private DepositSlot depositSlot; // ATM's deposit slot private BankDatabase bankDatabase; // account information database // constants corresponding to main menu options private static final int BALANCE_INQUIRY = 1; private static final int WITHDRAWAL = 2; private static final int DEPOSIT = 3; private static final int EXIT = 4; // no-argument ATM constructor initializes instance variables public ATM(){ userAuthenticated = false; // user is not authenticated to start currentAccountNumber = 0; // no current account number to start screen = new Screen(); // create screen keypad = new Keypad(); // create keypad cashDispenser = new CashDispenser(); // create cash dispenser depositSlot = new DepositSlot(); // create deposit slot bankDatabase = new BankDatabase(); // create account info database } // end no argument ATM constructor // start ATM public void run(){ // welcome and authenticate user; perform transactions while(true){ // loop while user is not yet authenticated while(!userAuthenticated){ screen.displayMessageLine("\nWelcome!"); authenticateUser(); // authenticate user } // end while performTransactions(); // user is now authenticated userAuthenticated = false; // reset before next ATM session currentAccountNumber = 0; // reset before next ATM session screen.displayMessageLine("\nThank You!\nGoodbye!"); } // end while } // end method run // attempts to authenticate user against database private void authenticateUser(){ screen.displayMessage("\nPlease enter your account number : "); int accountNumber = keypad.getInput(); // input account number screen.displayMessage("\nEnter your PIN : "); // prompt for PIN int pin = keypad.getInput(); // input PIN // set userAuthenticated to boolean value returned by database userAuthenticated = bankDatabase.authenticateUser(accountNumber, pin); // check whether authentication succeeded if(userAuthenticated){ currentAccountNumber = accountNumber; // save user's account } // end if else{ screen.displayMessageLine("Invalid Account Number or PIN."); screen.displayMessageLine("Please Try Again."); } } // end method authenticateUser // display the main menu and perform transactions private void performTransactions(){ // local variable to store transaction currently being processed Transaction currentTransaction = null; boolean userExited = false; // user has not chosen to exit // loop while user has not chosen option to exit system while(!userExited){ // show main menu and get user selection int mainMenuSelection = displayMainMenu(); // decide how to proceed based on user's menu selection switch(mainMenuSelection){ // user choose to perform one of three transaction types case BALANCE_INQUIRY : case WITHDRAWAL : case DEPOSIT : // initialize as new object choosen type currentTransaction = createTransaction(mainMenuSelection); currentTransaction.execute(); // execute transaction break; case EXIT : // user choose to terminate session screen.displayMessageLine("\nExiting the system..."); userExited = true; // this ATM session should end break; default : // user did not enter an integer between 1-4 screen.displayMessageLine("\nYou did not enter a valid selection."); screen.displayMessageLine("Please try again."); break; } // end switch } // end while } // end method performTransactions // display the main menu and return an input selection private int displayMainMenu(){ screen.displayMessageLine("\nMain Menu :"); screen.displayMessageLine("1 - View my balance"); screen.displayMessageLine("2 - Withdraw cash"); screen.displayMessageLine("3 - Deposit funds"); screen.displayMessageLine("4 - Exit\n"); screen.displayMessage("Enter a choice : "); return keypad.getInput(); // return user's selection } // end method of displayMainMenu // return object of specified Transaction subclass private Transaction createTransaction(int type){ Transaction temp = null; // temporary Transaction variable // determine which type of Transaction to create switch(type){ case BALANCE_INQUIRY : // create new BalanceInquiry transaction temp = new BalanceInquiry(currentAccountNumber, screen, bankDatabase); break; case WITHDRAWAL : // create new Withdrawal transaction temp = new Withdrawal(currentAccountNumber, screen, bankDatabase, keypad, cashDispenser); break; case DEPOSIT : // create new Deposit transaction temp = new Deposit(currentAccountNumber, screen, bankDatabase, keypad, depositSlot); break; } // end switch return temp; // return newly created object } // end method createTransaction } // end class ATM
Source code class Screen:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class Screen { // display a message without a carriage return public void displayMessage(String message){ System.out.print(message); } // end method displayMessage // display a message with a carriage return public void displayMessageLine(String message){ System.out.println(message); } // end method displayMessageLine // displays a dollar amount public void displayDollarAmount(double amount){ System.out.printf("$%,.2f", amount); } // end method displayDollarAmount } // end class Screen
Source code class Keypad:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ import java.util.Scanner; public class Keypad { private Scanner input; // reads data from the command line // no-argument constructor initializes the Scanner public Keypad(){ input = new Scanner(System.in); } // end no-argument Keypad constructor // return an integer value entered by user public int getInput(){ return input.nextInt(); // we assume that user enters an integer } // end method getInput } // end class Keypad
Source code class CashDispenser:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class CashDispenser { // the default initial number of bills in the cash dispenser private final static int INITIAL_COUNT = 500; private int count; // number of $20 bills remaining // no-argument CashDispenser constructor initializes count to default public CashDispenser(){ count = INITIAL_COUNT; // set count attribute to default } // end CashDispenser constructor // simulates dispensing of specified amount of cash public void dispenseCash(int amount){ int billsRequired = amount / 20; // number of $20 bills required count -= billsRequired; // update the count of bills } // end method dispenseCash // indicates whether cash dispenser can dispense desired amount public boolean isSufficientCashAvailable(int amount){ int billsRequired = amount / 20; if(count >= billsRequired){ return true; // enough bills required } else{ return false; // not enough bills required } } // end method isSufficientCashAvailable } // end class CashDispenser
Source code class DepositSlot:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class DepositSlot { // indicate whether envelope was received (always returns true) // because this is only a software simulation of a real deposit slot public boolean isEnvelopeReceived(){ return true; // deposit envelope was received } // end method isEnvelopeReceived } // end class DepositSlot
Source code class Account:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class Account { private int accountNumber; // account number private int pin; // PIN for authentication private double availableBalance; // funds available for withdrawal private double totalBalance; // funds available + pending deposits // Account constructor initializes attributes public Account(int theAccountNumber, int thePIN, double theAvailableBalance, double theTotalBalance){ accountNumber = theAccountNumber; pin = thePIN; availableBalance = theAvailableBalance; totalBalance = theTotalBalance; } // end Account constructor // determines whether a user-specified PIN matches PIN in Account public boolean validatePIN(int userPIN){ if(userPIN == pin){ return true; // means the PIN input is match with the user's PIN } else{ return false; // means the PIN input is not match with the user's PIN } } // end method validatePIN // returns available balance public double getAvailableBalance(){ return availableBalance; } // returns the total balance public double getTotalBalance(){ return totalBalance; } // credits an amount to the account public void credit(double amount){ totalBalance += amount; // add to total balance } // debits an amount from the account public void debit(double amount){ availableBalance -= amount; // substract from available balance totalBalance -= amount; // substract from total balance } // returns account number public int getAccountNumber(){ return accountNumber; } } // end class Account
Source code class BankDatabase:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class BankDatabase { private Account[] accounts; // array of Accounts // no-argument BankDatabase constructor initializes accounts public BankDatabase(){ accounts = new Account[2]; // just 2 accounts for testing accounts[0] = new Account(12345, 54321, 1000.0, 1200.0); accounts[1] = new Account(98765, 56789, 200.0, 200.0); } // end no-argument BankDatabase constructor // retrieve Account object containing specified account number private Account getAccount(int accountNumber){ // loop through accounts searching for matching account number for(Account currentAccount : accounts){ // return current account if match found if(currentAccount.getAccountNumber() == accountNumber) return currentAccount; } // end for return null; // if no matching account was found, return null } // end method // determine whether user-specified account number and PIN match // those of an account in the database public boolean authenticateUser(int userAccountNumber, int userPIN){ // attempt to retrieve the account with the account number Account userAccount = getAccount(userAccountNumber); if(userAccount != null){ return userAccount.validatePIN(userPIN); } else{ return false; // account number not found, so return false } } // end method // return available balance of Account with specified account number public double getAvailableBalance(int userAccountNumber){ return getAccount(userAccountNumber).getAvailableBalance(); } // end method public double getTotalBalance(int userAccountNumber){ return getAccount(userAccountNumber).getTotalBalance(); } // end method public void credit(int userAccountNumber, double amount){ getAccount(userAccountNumber).credit(amount); } // end method public void debit(int userAccountNumber, double amount){ getAccount(userAccountNumber).debit(amount); } // end method } // end class BankDatabase
Source code class Transaction:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public abstract class Transaction { private int accountNumber; // indicates account involved private Screen screen; // ATM's screen private BankDatabase bankDatabase; // account info database // Transaction constructor invoked by subclasses using super() public Transaction(int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase){ accountNumber = userAccountNumber; screen = atmScreen; bankDatabase = atmBankDatabase; } // end Transaction constructor // return account number public int getAccountNumber(){ return accountNumber; } // end method // return reference to screen public Screen getScreen(){ return screen; } // end method // return reference to bank database public BankDatabase getBankDatabase(){ return bankDatabase; } // end method // perform the transaction (overridden by each subclass) abstract public void execute(); } // end class Transaction
Source code class BalanceInquiry:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class BalanceInquiry extends Transaction { // BalanceInquiry constructor public BalanceInquiry(int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase){ super(userAccountNumber, atmScreen, atmBankDatabase); } // end BalanceInquiry constructor // performs the transaction @Override public void execute(){ // get references to bank database and screen BankDatabase bankDatabase = getBankDatabase(); Screen screen = getScreen(); // get the available balance for the account involved double availableBalance = bankDatabase.getAvailableBalance(getAccountNumber()); // get the total balance for the account involved double totalBalance = bankDatabase.getTotalBalance(getAccountNumber()); // display the balance information on the screen screen.displayMessageLine("\nBalance Information : "); screen.displayMessage(" - Available Balance : "); screen.displayDollarAmount(availableBalance); screen.displayMessage("\n - Total Balance : "); screen.displayDollarAmount(totalBalance); screen.displayMessageLine(""); } // end method execute } // end class BalanceInquiry
Source code class Withdrawal:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class Withdrawal extends Transaction { private int amount; // amount to withdraw private Keypad keypad; // references to keypad private CashDispenser cashDispenser; // references to cash dispenser // constant corresponding to menu option to cancel private final static int CANCELED = 6; // Withdrawal constructor public Withdrawal(int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase, Keypad atmKeypad, CashDispenser atmCashDispenser){ // initializes superclass variables super(userAccountNumber, atmScreen, atmBankDatabase); // initializes references to keypad and cash dispenser keypad = atmKeypad; cashDispenser = atmCashDispenser; } // end Withdrawal constructor // perform transaction @Override public void execute(){ boolean cashDispensed = false; // cash was not dispensed yet double availableBalance; // amount available for withdrawal // get references to bank database and screen BankDatabase bankDatabase = getBankDatabase(); Screen screen = getScreen(); // loop until cash is dispensed or the user cancels do{ // obtain a chosen withdrawal amount from the user amount = displayMenuOfAmounts(); // check whether user choose a withdrawal amount or canceled if(amount != CANCELED){ // get available balance of account involved availableBalance = bankDatabase.getAvailableBalance(getAccountNumber()); // check whether the user has enough money in the account if(amount <= availableBalance){ // check whether the cash dispenser has enough money if(cashDispenser.isSufficientCashAvailable(amount)){ // update the account involved to reflect the withdrawal bankDatabase.debit(getAccountNumber(), amount); cashDispenser.dispenseCash(amount); // dispense cash cashDispensed = true; // cash was dispensed // instructs user to take cash screen.displayMessageLine("\nYour cash has been dispensed. Please take your cash now."); } // end if else{ // cash dispenser does not have enough cash screen.displayMessageLine("\nInsufficient cash available in the ATM."); screen.displayMessageLine("\nPlease choose a smaller amount."); } // end if } // end if else{ // not enough money available in user's account screen.displayMessageLine("\nInsufficient funds in your account."); screen.displayMessageLine("\nPlease choose a smaller amount."); } // end if } // end if else{ // user choose cancel menu option screen.displayMessageLine("\nCancelling transactions..."); return; // return to main menu because user canceled } // end if } while(!cashDispensed); } // end method execute // display a menu of withdrawal amounts and the options to cancel // return the chosen amount or 0 if the user chooses to cancel private int displayMenuOfAmounts(){ int userChoice = 0; // local variable to store return value Screen screen = getScreen(); // get screen references // array of amounts to correspond to menu numbers int[] amounts = {0, 20, 40, 60, 100, 200}; // loop while no valid choice has been made while(userChoice == 0){ // display the withdrawal menu screen.displayMessageLine("\nWithdrawal Menu : "); screen.displayMessageLine("1 - $20"); screen.displayMessageLine("2 - $40"); screen.displayMessageLine("3 - $60"); screen.displayMessageLine("4 - $100"); screen.displayMessageLine("5 - $200"); screen.displayMessageLine("6 - Cancel Transaction"); screen.displayMessage("\nChoose a withdrawal amount : "); int input = keypad.getInput(); // get user input through keypad // determine how to proceed based on the input value switch(input){ // if the user choose a withdrawal amount // i.e choose option 1, 2, 3, 4 or 5 // return the corresponding amount from amounts's array case 1 : case 2 : case 3 : case 4 : case 5 : userChoice = amounts[input]; // save user's choice break; case CANCELED : // the user choose to cancel userChoice = CANCELED; // save user's choice break; default : // the user did not enter value between 1-6 screen.displayMessageLine("\nInvalid selection."); screen.displayMessageLine("Try again."); } // end switch } // end while return userChoice; // return withdrawal amount or CANCELED } // end method displayMenuOfAmounts } // end class Withdrawal
Source code class Deposit:
/** * OOP dalam mesin ATM * * Monica I H * 08 Mei 2017 */ public class Deposit extends Transaction { private double amount; // amount to deposit private Keypad keypad; // references to keypad private DepositSlot depositSlot; // references to deposit slot private final static int CANCELED = 0; // constant for cancel option // Deposit constructor public Deposit(int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase, Keypad atmKeypad, DepositSlot atmDepositSlot){ // initializes superclass variables super(userAccountNumber, atmScreen, atmBankDatabase); // initialize references to keypad and deposit slot keypad = atmKeypad; depositSlot = atmDepositSlot; } // end Deposit constructor // perform transaction @Override public void execute(){ BankDatabase bankDatabase = getBankDatabase(); // get reference Screen screen = getScreen(); // get reference amount = promptForDepositAmount(); // get deposit amount from user // check whether the user entered a deposit amount or canceled if(amount != CANCELED){ // request deposit envelope containing specified amount screen.displayMessage("\nPlease insert a deposit envelope containing "); screen.displayDollarAmount(amount); screen.displayMessage("."); // receive deposit envelope boolean envelopeReceived = depositSlot.isEnvelopeReceived(); // check whether deposit envelope was received if(envelopeReceived){ screen.displayMessageLine("\nYour envelope has been received."); screen.displayMessage("NOTE: The money just deposited will not be available until we verify the amount"); screen.displayMessage("of any enclosed cash and your checks clear."); // credit account to reflect the deposit bankDatabase.credit(getAccountNumber(), amount); } // end if else{ // deposit envelope not received screen.displayMessageLine("\nYou did not insert an envelope"); screen.displayMessageLine("So, the ATM has canceled your transaction."); } // end else } // end if else{ // user canceled instead of entering amount screen.displayMessageLine("\nCanceling transaction..."); } // end else } // end method execute // prompt user to enter a deposit amount in cents private double promptForDepositAmount(){ Screen screen = getScreen(); // get references to screen // display the prompt screen.displayMessage("\nPlease enter a deposit amount in CENTS (or 0 to cancel)"); int input = keypad.getInput(); // receive input of deposit amount // check whether the user canceled or entered a valid amount if(input == CANCELED) return CANCELED; else{ return (double) input / 100; // return dollar amount } // end else } // end method } // end class Deposit
Selasa, 04 April 2017
PBO Mesin Antrian Bank (Evaluasi Tengah Semester Genap)
Penugasan ETS Mata Kuliah PBO Kelas A 2016/2017 kali ini adalah untuk membuat mesian antrian bank.
Bank merupakan tempat berkumpulnya masyarakat untuk menyimpan atau pun
mengambil uang. Sebelum melakukan transaksi biasanya nasabah diminta
mengambil nomor antrian di mesin pencetak antrian.
Mesin pencetak antrian bank adalah system yang berfungsi untuk mengelola
nomor urut antrian nasabah bank. Mesin ini mempunyai fungsi,
mempermudah teller dan customer service, atau layanan lain pada bank
tersebut, memanggil nasabah dan melayani sesuai dengan keperluan
nasabah, pada masing-masing layanan.
Source code main function:
Source code main function:
/** * Mesin Antrian Bank ETS * * Monica I H * 04 April 2017 */ import java.util.Scanner; public class main { public static void main (String[] args) { Scanner scan = new Scanner(System.in); int count_teller = 0, count_cs = 0, x = 0 ; while(x>=0) { System.out.println("Pilih jenis layanan :\n-1 Pilih untuk Layanan Teller\n-2 Pilih untuk Layanan CS"); x = scan.nextInt(); customer baru = new customer(x); if(x == 1) { baru.getLayanan(x, count_teller); count_teller++; } else if(x == 2) { baru.getLayanan(x, count_cs); count_cs++; } baru.getNo_teller(x); baru.getNo_cs(x); } } }
Source code class Customer:
/** * Mesin Antrian Bank ETS * * Monica I H * 04 April 2017 */ public class customer { private int layanan, no_teller, no_cs; public customer(int x) { layanan = x; } public int getNo_teller(int x) { no_teller = x; no_teller++; return no_teller; } public int getNo_cs(int x) { no_cs = x; no_cs++; return no_cs; } public int getLayanan(int x, int count) { if(x == 1) { System.out.printf("\n\t\tNomor Antrian anda: %d",getNo_teller(count)); System.out.println("\n\t\tLayanan : Transaksi Teller\n"); } else if(x == 2) { System.out.printf("\n\t\tNomor Antrian anda: %d",getNo_cs(count)); System.out.println("\n\t\tLayanan : Customer Service\n"); } return x; } }
Senin, 03 April 2017
MPPL Studi Kelayakan SI PPDB (Evaluasi Tengah Semester Genap)
Kali ini kami dari kelas MPPL-B kedapatan tugas membuat studi kelayakan tentang web sekolah asal kami (SMA).
https://sman2kediri.sch.id/ |
STUDI KELAYAKAN SISTEM INFORMASI PPDB SMAN 2 KOTA KEDIRI
-Kelayakan Teknik
I. PENDAHULUAN
Permasalahan Pendidikan di Indonesia merupakan topik yang tak akan pernah ada habisnya untuk dibahas dan dikembangkan. Seiring pesatnya perkembangan dunia IT, dari tahun ke tahun, sistem pendidikan negeri ini selalu memberikan inovasi baru yang dimaksudkan untuk meningkatkan mutu pendidikan di Indonesia. Seperti halnya, Ujian Nasional yang telah semenjak tahun lalu telah menggunakan sistem ujian berbasis komputer, CBT (Computer Based Test), tahun ini secara besar-besaran pemerintah menggalakkan sistem Penerimaan Peserta Didik Baru secara online, yang merupakan salah satu produk dari rangkaian project besar Sistem Informasi Aplikasi Pendidikan (SIAP) yang telah dirintis sejak tahun 2009.
Pada tahun 2017 ini, tercatat lebih dari 30 kota/kabupaten di Jawa Timur telah
menerapkan sistem Penerimaan Peserta Didik Baru secara online lewat
situs web yang disediakan setiap kota/kabupaten terkait. PPDB SMAN 2
Kota Kediri dapat dilakukan melalui situs https://kediri.siap-ppdb.com/. Di Kota Kediri, pendaftaran untuk SMAN 1 dan SMAN 2 memiliki jalur tersendiri, sehingga ketika membuka website PPDB Kota Kediri. Peserta didik harus menuju link khusus untuk kedua SMA tersebut.
II BAHAN DAN METODE
A. Konsep Dasar Sistem
Sistem Informasi adalah kombinasi dari teknologi informasi dan aktivitas orang yang menggunakan teknologi itu untuk mendukung operasi dan manajemen. Dalam arti yang sangat luas, istilah sistem informasi yang sering digunakan merujuk kepada interaksi antara orang, proses algoritmik, data, dan teknologi. Dalam pengertian ini, istilah ini digunakan tidak hanya merujuk pada penggunaan organisasi Teknologi Informasi dan Komunikasi (TIK), tetapi juga untuk cara dimana orang berinteraksi dengan teknologi ini dalam mendukung proses bisnis.
B. Studi Kelayakan
Studi Kelayakan (Feasibility Study) adalah pengamatan awal yang dilakukan untuk menilai layak tidaknya suatu usaha untuk dilakukan, suatu proyek untuk dijalankan, atau suatu produk untuk dibuat. Pada dasarnya studi kelayakan dilakukan untuk memulai suatu bisnis baru ataupun mengembangkan bisnis yang sudah ada sebelumnya.
II BAHAN DAN METODE
A. Konsep Dasar Sistem
Sistem Informasi adalah kombinasi dari teknologi informasi dan aktivitas orang yang menggunakan teknologi itu untuk mendukung operasi dan manajemen. Dalam arti yang sangat luas, istilah sistem informasi yang sering digunakan merujuk kepada interaksi antara orang, proses algoritmik, data, dan teknologi. Dalam pengertian ini, istilah ini digunakan tidak hanya merujuk pada penggunaan organisasi Teknologi Informasi dan Komunikasi (TIK), tetapi juga untuk cara dimana orang berinteraksi dengan teknologi ini dalam mendukung proses bisnis.
B. Studi Kelayakan
Studi Kelayakan (Feasibility Study) adalah pengamatan awal yang dilakukan untuk menilai layak tidaknya suatu usaha untuk dilakukan, suatu proyek untuk dijalankan, atau suatu produk untuk dibuat. Pada dasarnya studi kelayakan dilakukan untuk memulai suatu bisnis baru ataupun mengembangkan bisnis yang sudah ada sebelumnya.
-Kelayakan Teknik
Kelayakan teknik memandang dari segi kebutuhan teknologi sistem yang digunakan. Secara garis besar, apabila suatu sistem menggunakan teknologi yang murah, mudah didapatkan, dan mudah digunakan, maka sistem tersebut bisa dinyatakan layak.
-Kelayakan Ekonomi
Kelayakan ekonomi menimbang suatu sistem berdasarkan cost yang diperlukan untuk membangun sistem tersebut, serta membandingkannya dengan value atau hasil yang diperoleh dengan adanya sistem tersebut. Tak dapat dipungkiri, suatu proyek dikerjakan untuk tujuan memperoleh keuntungan, oleh karena itu kelayakan ekonomi menghitung untung rugi dari pengadaan sistem dan pula berkaitan dengan return investment atau jangka waktu investasi akan kembali.
-Kelayakan Hukum
Kelayakan hukum mengupas apakah suatu sistem melanggar hukum yang berlaku atau tidak jika tetap dikembangkan. Termasuk apakah informasi dari sistem menyalahi aturan hukum atau tidak.
-Kelayakan Operasional
Kelayakan operasional membahas apakah pengoperasian sistem di dalam organisasi nanti akan berjalan baik atau tidak.
-Kelayakan Jadwal
Kelayakan jadwal menguji apakah sistem berjalan sesuai dengan waktu yang ditentukan diawal atau tidak. Ketepatan jadwal akan menambah nilai kelayakan sistem sehingga tetap perlu diperhatikan.
III HASIL DAN PEMBAHASAN
Studi Kelayakan
Setelah mengamati lebih dalam SI PPDB online SMAN 2 Kota Kediri. Untuk dapat memastikan apakah pengadaan sistem PPDB online ini perlu dilanjutkan atau tidak, maka telah diputuskan untuk menguji kelayakan SIAP PPDB berdasarkan:
-Kelayakan teknik
-Kelayakan ekonomi
-Kelayakan hukum
-Kelayakan operasional
A. Penilaian Kelayakan Teknik
SI PPDB berbasis web ini telah mumpuni dari segi teknologi, dalam penggunaannya SI PPDB online tidak memerlukan instalasi aplikasi sehingga sangat mudah, cepat, dan instan untuk digunakan. SI PPDB online bisa diakses melalui mobile phone sekalipun.
1. Kebutuhan perangkatan keras
B. Penilaian Kelayakan Ekonomi
SI PPDB berbasis web yang pada dasarnya merupakan project milik PT. Telkom dan tidak diberikan secara gratis namun ada biaya yang harus dibayarkan atas penggunaan jasa sistem informasi PPDB online ini. Namun jangan salah, produk lain yang ditawarkan oleh PT. Telkom ini tersedia dalam edisi gratis, edisi web sekolah, edisi standar, dan edisi premium. Untuk rincian tiap edisi tersebut silakan cek http://produk.siap-online.com/biaya-layanan/#.WOJ5l7jYq00
Layanan SIAP PPDB Online dapat digunakan oleh Dinas Pendidikan / Kemenag / Yayasan di tingkat Kota/Kabupaten dengan syarat dan ketentuan, berikut:
Kelayakan hukum ini tentu tak lepas dari hal-hal seperti kerahasiaan informasi pemilik akun yang terjamin, dan keakuratan data yang dapat dipertanggungjawabkan kebenarannya. Secara lengkap dapat disimak pada laman Ketentuan Layanan SIAP Online yang dapat diakses melalui http://produk.siap-online.com/ketentuan-layanan-siap-online/#.WOJ7ILjYq00.
Sudah meliputi: ketentuan umum, ketentuan penggunaan, ketentuan penggunaan akun, informasi penangguhan dan penghapusan akun, kebijakan promosi, serta kebijakan konten dan perilaku pengguna.
D. Penilaian Kelayakan Operasional
Kelayakan operasional tak lepas dari kelayakan teknik yang telah dibahas sebelumnya. Untuk dapat beroperasi dengan baik maka sistem membutuhkan teknologi tambahan yang sesuai dengan kriteria yang dibutuhkan. Tak ada batasan pengguna sehingga web akan dengan mudah diakses pengguna baru yang belum terdaftar sebelumnya. Secara operasional pun sistem ini tak ada kendala, sehingga dapat dikatakan layak.
IV KESIMPULAN DAN SARAN
A. Kesimpulan
Setelah meninjau berbagai faktor kelayakan SI PPDB Online SMAN 2 Kota Kediri, dapat disimpulkan bahwa pengadaan sistem PPDB Online ini perlu dilanjutkan dan dikembangkan agar nantinya seluruh sekolah-sekolah di Indonesia dapat terintegrasi secara langsung sehingga akan menguntungkan baik siswa dan sekolah dalam hal keefektifan dan keefisienan pendaftaran.
B. Saran
Sebaiknya pada website official SMAN 2 Kota Kediri disertakan petunjuk apabila pengunjung ingin mendaftarkan diri pada PPDB SMAN 2 Kota Kediri dengan menyertakan link PPDB Online Kediri pada laman utama website, karena pengunjung akan kebingungan mencari "jalan" menuju tempat PPDB online apabila tidak mengetahui website khusus PPDB tahun 2017.
V DAFTAR PUSTAKA
Wikipedia. Sistem Informasi.
https://id.wikipedia.org/wiki/Sistem_informasi
Haerudin, Didin S.Hs. 2011. Feasibility Study (Studi Kelayakan).
http://hd-style.blogspot.co.id/2011/09/feasibility-study-studi-kelayakan.html
Baskoro, Fajar. 2017. Kelayakan Proyek. Surabaya.
-Kelayakan Ekonomi
Kelayakan ekonomi menimbang suatu sistem berdasarkan cost yang diperlukan untuk membangun sistem tersebut, serta membandingkannya dengan value atau hasil yang diperoleh dengan adanya sistem tersebut. Tak dapat dipungkiri, suatu proyek dikerjakan untuk tujuan memperoleh keuntungan, oleh karena itu kelayakan ekonomi menghitung untung rugi dari pengadaan sistem dan pula berkaitan dengan return investment atau jangka waktu investasi akan kembali.
-Kelayakan Hukum
Kelayakan hukum mengupas apakah suatu sistem melanggar hukum yang berlaku atau tidak jika tetap dikembangkan. Termasuk apakah informasi dari sistem menyalahi aturan hukum atau tidak.
-Kelayakan Operasional
Kelayakan operasional membahas apakah pengoperasian sistem di dalam organisasi nanti akan berjalan baik atau tidak.
-Kelayakan Jadwal
Kelayakan jadwal menguji apakah sistem berjalan sesuai dengan waktu yang ditentukan diawal atau tidak. Ketepatan jadwal akan menambah nilai kelayakan sistem sehingga tetap perlu diperhatikan.
III HASIL DAN PEMBAHASAN
Studi Kelayakan
Setelah mengamati lebih dalam SI PPDB online SMAN 2 Kota Kediri. Untuk dapat memastikan apakah pengadaan sistem PPDB online ini perlu dilanjutkan atau tidak, maka telah diputuskan untuk menguji kelayakan SIAP PPDB berdasarkan:
-Kelayakan teknik
-Kelayakan ekonomi
-Kelayakan hukum
-Kelayakan operasional
A. Penilaian Kelayakan Teknik
SI PPDB berbasis web ini telah mumpuni dari segi teknologi, dalam penggunaannya SI PPDB online tidak memerlukan instalasi aplikasi sehingga sangat mudah, cepat, dan instan untuk digunakan. SI PPDB online bisa diakses melalui mobile phone sekalipun.
1. Kebutuhan perangkatan keras
No
|
Perangkat
keras
|
|
1
|
Processor type
|
Intel (R) Core
i3
|
2
|
Memory
|
2Gb DDR3 Max 8
GB (2 DIMMs)
|
3
|
Hard drive type
|
500GB Serial
ATA (7200 RPm)
|
4
|
Network
|
Gigabit
Network
|
5
|
Optical drive
Type
|
DVD RW
|
6
|
Monitor
|
Monitor 14”
|
7
|
Keyboard
|
USB Keyboard
|
8
|
Mouse
|
USB Optical
Mouse
|
2.
Kebutuhan perangkat lunak
No
|
Perangkat
Lunak
|
Kegunaan
|
1
|
Windows
XP Professional II / Windows 7/Windows 8
|
Sistem
Operasi
|
2
|
Internet
Explorer, mozila firefox, dll
|
Web Browser
|
3
|
Microsoft word
|
Digunakan
dalam pengetikan untuk surat dan laporan PPDB
|
4
|
Microsoft excel
|
Digunakan
dalam penginputan data dan perhitungan data yang berhubungan dengan PPDB
|
Untuk perangkat keras dan lunak
server telah disediakan oleh pihak penyelenggara SIAP yaitu TELKOM.
3.
Kebutuhan perangkat jaringan
Perangkat jaringan telah disediakan
oleh pihak TELKOM.B. Penilaian Kelayakan Ekonomi
SI PPDB berbasis web yang pada dasarnya merupakan project milik PT. Telkom dan tidak diberikan secara gratis namun ada biaya yang harus dibayarkan atas penggunaan jasa sistem informasi PPDB online ini. Namun jangan salah, produk lain yang ditawarkan oleh PT. Telkom ini tersedia dalam edisi gratis, edisi web sekolah, edisi standar, dan edisi premium. Untuk rincian tiap edisi tersebut silakan cek http://produk.siap-online.com/biaya-layanan/#.WOJ5l7jYq00
Layanan SIAP PPDB Online dapat digunakan oleh Dinas Pendidikan / Kemenag / Yayasan di tingkat Kota/Kabupaten dengan syarat dan ketentuan, berikut:
- Pelaksanaan PPDB Online dikoordinasikan oleh Dinas Pendidikan / Kemenag / Yayasan setempat.
- Petunjuk Teknis / Aturan dan prosedur PPDB di wilayah Dinas Pendidikan / Kemenag / Yayasan di tingkat Kota/Kabupaten setempat telah disepakati bersama dengan PT. Telkom sesuai standar sistem Telkom SIAP PPDB Online yang berlaku.
- Peserta PPDB Online adalah minimal 30 sekolah dalam satu wilayah Dinas Pendidikan / Kemenag / Yayasan di tingkat Kota/Kabupaten.
- Biaya pelatihan, sosialisasi dan operasional selama proses persiapan hingga pelaksanaan ditanggung oleh pihak Dinas Pendidikan Kota/Kabupaten setempat.
Kelayakan hukum ini tentu tak lepas dari hal-hal seperti kerahasiaan informasi pemilik akun yang terjamin, dan keakuratan data yang dapat dipertanggungjawabkan kebenarannya. Secara lengkap dapat disimak pada laman Ketentuan Layanan SIAP Online yang dapat diakses melalui http://produk.siap-online.com/ketentuan-layanan-siap-online/#.WOJ7ILjYq00.
Sudah meliputi: ketentuan umum, ketentuan penggunaan, ketentuan penggunaan akun, informasi penangguhan dan penghapusan akun, kebijakan promosi, serta kebijakan konten dan perilaku pengguna.
D. Penilaian Kelayakan Operasional
Kelayakan operasional tak lepas dari kelayakan teknik yang telah dibahas sebelumnya. Untuk dapat beroperasi dengan baik maka sistem membutuhkan teknologi tambahan yang sesuai dengan kriteria yang dibutuhkan. Tak ada batasan pengguna sehingga web akan dengan mudah diakses pengguna baru yang belum terdaftar sebelumnya. Secara operasional pun sistem ini tak ada kendala, sehingga dapat dikatakan layak.
IV KESIMPULAN DAN SARAN
A. Kesimpulan
Setelah meninjau berbagai faktor kelayakan SI PPDB Online SMAN 2 Kota Kediri, dapat disimpulkan bahwa pengadaan sistem PPDB Online ini perlu dilanjutkan dan dikembangkan agar nantinya seluruh sekolah-sekolah di Indonesia dapat terintegrasi secara langsung sehingga akan menguntungkan baik siswa dan sekolah dalam hal keefektifan dan keefisienan pendaftaran.
B. Saran
Sebaiknya pada website official SMAN 2 Kota Kediri disertakan petunjuk apabila pengunjung ingin mendaftarkan diri pada PPDB SMAN 2 Kota Kediri dengan menyertakan link PPDB Online Kediri pada laman utama website, karena pengunjung akan kebingungan mencari "jalan" menuju tempat PPDB online apabila tidak mengetahui website khusus PPDB tahun 2017.
V DAFTAR PUSTAKA
Wikipedia. Sistem Informasi.
https://id.wikipedia.org/wiki/Sistem_informasi
Haerudin, Didin S.Hs. 2011. Feasibility Study (Studi Kelayakan).
http://hd-style.blogspot.co.id/2011/09/feasibility-study-studi-kelayakan.html
Baskoro, Fajar. 2017. Kelayakan Proyek. Surabaya.
http://fajarbaskoro.blogspot.co.id/2017/03/mppl17-06-kelayakan-proyek.html
MPPL HIPO model on Project Charter (tugas 4)
5114100060
Dalam tugas ke-4 kali ini, saya kedapatan bagian untuk menjelaskan tentang HIPO model yang terdapat dalam Project Charter. Langsung saja kita bahas ya!
HIPO merupakan kependekan dari Hierarchical Input Proses Output, adalah alat dokumentasi yang berdasarkan fungsinya untuk meningkatkan efisiensi usaha perawatan program.
Dalam tugas ke-4 kali ini, saya kedapatan bagian untuk menjelaskan tentang HIPO model yang terdapat dalam Project Charter. Langsung saja kita bahas ya!
HIPO merupakan kependekan dari Hierarchical Input Proses Output, adalah alat dokumentasi yang berdasarkan fungsinya untuk meningkatkan efisiensi usaha perawatan program.
Selasa, 14 Maret 2017
PBO Classes and Objects (A Deeper Look II) (tugas 4)
Classes and Objects 8.7 - 8.13
8.7. Date Class Declaration
8.8. Employee Class with References to other objects
8.9. Composition Demonstration
8.10. Declaring an enum type with constructor and explicit instance fields and accessors for these fields
8.11. Testing an Enum Type
8.12. Static Variable Used to Maintain a Count of The Number of Employee Object in Memory
8.13. Static Member Demonstration
8.7. Date Class Declaration
/** * Date * Monica I H * PBO */ public class Date { private int month; private int day; private int year; private static final int[] daysPerMonth = {0,31,28,31,30,31,30,31,31,30,31,30,31}; public Date(int theMonth, int theDay, int theYear) { month = checkMonth( theMonth ); year = theYear; day = checkDay (theDay); System.out.printf( "Date object constructor for date %s\n", this); } private int CheckMonth(int testMonth) { if (testMonth > 0 && testMonth <=12) return testMonth; else throw new IllegalArgumentException ("month must be 1-12"); } private int checkDay(int testDay) { if (testDay > 0 && testDay <= daysPerMonth [month]) return testDay; if(month == 2 && testDay == 29 && (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0 ))) return testDay; throw new IllegalArgumentException( "day out-of-range for the specified month and year"); } public String toString() { return String.format("%d/%d/%d", month, day, year); } }
8.8. Employee Class with References to other objects
/** * Employee * Monica I H * PBO */ public class Employee { private String firstName; private String lastName; private Date birthDate; private Date hireDate; public Employee (String first, String last, Date dateOfBirth, Date dateOfHire) { firstName = first; lastName = last; birthDate = dateOfBirth; hireDate = dateOfHire; } public String toString() { return String.format ("%s, %s Hired: %s Birthday: %s", lastName, firstName, hireDate, birthDate); } }
8.9. Composition Demonstration
/** * EmployeeTest * Monica I H * PBO */ public class EmployeeTest { public static void main (String[] args) { Date birth = new Date (7,24,1949); Date hire = new Date (3,12,1988); Employee employee = new Employee ("Bob", "Blue", birth, hire); System.out.println(employee); } }
8.10. Declaring an enum type with constructor and explicit instance fields and accessors for these fields
/** * Enumeration class Book * Monica I H * PBO */ public enum Book { JHTP( "Java How to Program", "2012" ), CHTP( "C How to Program", "2007" ), IW3HTP( "Internet & World Wide Web How to Program", "2008" ), CPPHTP( "C++ How to Program", "2012" ), VBHTP( "Visual Basic 2010 How to Program", "2011" ), CSHARPHTP( "Visual C# 2010 How to Program", "2011" ); private final String title; private final String copyrightYear; Book (String bookTitle, String year) { title = bookTitle; copyrightYear = year; } public String getTitle() { return title; } public String getCopyrightYear() { return copyrightYear; } }
8.11. Testing an Enum Type
/** * EnumTypeTesting * Monica I H * PBO */ import java.util.EnumSet; public class EnumTest { public static void main(String[] args) { System.out.println("All books:\n"); for (Book book : Book.values() ) System.out.printf("%-10s%-45s%s\n", book, book.getTitle(), book.getCopyrightYear() ); System.out.println("\nDisplay a range of enum constants:\n"); for (Book book : EnumSet.range(Book.JHTP, Book.CPPHTP)) System.out.printf("%-10s%-45s%s\n", book, book.getTitle(), book.getCopyrightYear() ); } }
8.12. Static Variable Used to Maintain a Count of The Number of Employee Object in Memory
/** * Employee2 * Monica I H * PBO */ public class Employee2 { private String firstName; private String lastName; private static int count=0; public Employee2(String first, String last) { firstName = first; lastName = last; ++count; System.out.printf("Employee constructor: %s %s; count = %d\n", firstName, lastName, count); } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public static int getCount() { return count; } }
8.13. Static Member Demonstration
/** * Employee2Testing * Monica I H * PBO */ public class Employee2Test { public static void main (String[] args) { System.out.printf("Employees before instantiation: %d\n", Employee2.getCount()); Employee2 e1 = new Employee2("Susan", "Baker"); Employee2 e2 = new Employee2("Bob", "Blue"); System.out.println( "\nEmployees after instantiation: " ); System.out.printf( "via e1.getCount(): %d\n", e1.getCount()); System.out.printf( "via e2.getCount(): %d\n", e2.getCount()); System.out.printf( "via Employee2.getCount(): %d\n", Employee2.getCount() ); System.out.printf("\nEmployee 1 : %s %s \nEmployee 2: %s %s \n", e1.getFirstName(), e1.getLastName(), e2.getFirstName(), e2.getLastName()); e1 = null; e2 = null; } }
PBO Ticket Machine (tugas 3)
Studi Kasus Ticket Machine
Ticket Machine adalah sebuah mesin seperti ATM, yang berfungsi melayani penjualan tiket kereta api dari satu tujuan ke tujuan yang lain. Mesin ini berisi informasi harga tiket ke berbagai tujuan, menghitung kembalian, dan mencetak bukti pembelian tiket.
Class TicketMachine
Main Program
Output:
Ticket Machine adalah sebuah mesin seperti ATM, yang berfungsi melayani penjualan tiket kereta api dari satu tujuan ke tujuan yang lain. Mesin ini berisi informasi harga tiket ke berbagai tujuan, menghitung kembalian, dan mencetak bukti pembelian tiket.
Class TicketMachine
/** * TicketMachine * Monica I H * PBO */ public class TicketMachine { // The price of a ticket from this machine. private int price; //The amount of money entered by a customer so far. private int balance; // The total amount of money collected by this machine. private int total; public TicketMachine (int ticketCost) { price=ticketCost; balance=0; total=0; } public int getPrice() { return price; } public int getBalance() { return balance; } public void insertMoney(int amount) { balance=balance+amount; } public void printTicket() { // Simulate the printing of a ticket. System.out.println("##################"); System.out.println("# The BlueJ Line"); System.out.println("# Ticket"); System.out.println("# " + price + " cents."); System.out.println("##################"); System.out.println(); // Update the total collected with the balance. total=total+balance; // Clear the balance. balance=0; } }
Main Program
/** * TicketMachine-Main * Monica I H * PBO */ import java.util.Scanner; public class IntMain { public static int main() { Scanner scan= new Scanner(System.in); int cost,menu; System.out.println("Masukkan harga tiket: "); cost=scan.nextInt(); TicketMachine ticket=new TicketMachine(cost); while (true) { System.out.println("1. Get Price"); System.out.println("2. Get Balance"); System.out.println("3. Insert Money"); System.out.println("4. Print Ticket"); System.out.println("5. Exit"); menu=scan.nextInt(); switch(menu) { case 1: cost=ticket.getPrice(); System.out.println(cost); break; case 2: System.out.println(ticket.getBalance()); break; case 3: int money=scan.nextInt(); ticket.insertMoney(money); break; case 4: ticket.printTicket(); break; case 5: return 0; } } } }
Output:
Senin, 13 Maret 2017
MPPL Contoh Kerangka Acuan Kerja (KAK) Pembuatan Aplikasi Pengendalian Internal (tugas 2)
PEMBUATAN APLIKASI PENGENDALIAN INTERNAL KEGIATAN PENGEMBANGAN LAYANAN INFORMASI ADMINISTRASI KEPEGAWAIAN SERTA SINKRONISASI KEBIJAKAN BIDANG KEPEGAWAIAN DI JAWA TENGAH
Latar Belakang
Badan Kepegawaian Daerah (BKD) Provinsi Jawa Tengah mempunyai tugas pokok membantu Gubernur dalam penyelenggaraan Pemerintahan Daerah di bidang Manajemen PNS Daerah. Dalam rangka pelaksanaan tugasnya, BKD mempunyai fungsi sebagai perencana, pengembang, dan pelayan administrasi kepegawaian bagi Pegawai Negeri Sipil Daerah (PNSD) di lingkungan Pemerintah Provinsi Jawa Tengah. Fungsi-fungsi tersebut dapat terwujud bila didukung sistem tata kerja yang jelas, rinci serta dukungan SDM berkualitas dan handal yang dapat bekerja sama mencapai tujuan organisasi dalam mendukung rangka mendukung pengambilan keputusan dan kendali dalam organisasi. Sesuai pasal 34 Undang-Undang Nomor 43 Tahun 1999 tentang perubahan atas Undang-Undang Nomor 8 Tahun 1974 tentang Pokok-Pokok Kepegawaian bahwa untuk kelancaran pelaksanaan manajemen Pegawai Negeri Sipil Daerah dibentuk Badan Kepegawaian Daearah yang merupakan perangkat daerah. Selanjutnya pada Keputusan Presiden Nomor 159 Tahun 2000 tentang Pedoman Pembentukan Badan Kepegawaian Daerah bahwa yang dimaksud dengan Badan kepegawaian Daerah adalah perangkat daerah yang melaksanakan manajemen Pegawai Negeri Sipil dalam membantu tugas pokok Pejabat Pembina Kepegawaian Daerah.
Maksud dan Tujuan
Maksud
Aplikasi pengendalian internal dibuat untuk:
a. Mencatat realisasi keuangan yang terintegrasi dari aplikasi Sistem Informasi Keuangan Internal (SIKI) dan realisasi fisik serta target fisik yang sudah ditetapkan oleh Biro Bangda.
b. Mencatat jadwal pelaksanaan kegiatan yang akan datang, sehingga masing-masing bidang dapat mempunyai reminder/pengingat tentang list kegiatan yang sudah mendekati jadwal pelaksanaan ataupun yang sudah melebihi jadwal pelaksanaan.
c. Membuat laporan triwulan yang dikirimkan ke Bappeda.
Tujuan
Tujuan Pembuatan Aplikasi Pengendalian Internal ini adalah :
a. Mengintegrasikan Data Program dan Kegiatan dari Sistem Penganggaran e-Budgeting/SIMDA2016.
b. Menambahkan breakdown data program dan kegiatan untuk masing-masing sub kegiatan perbidang yang ada di BKD.
b. Menambahkan breakdown data program dan kegiatan untuk masing-masing sub kegiatan perbidang yang ada di BKD.
c. Membreakdown masing-masing sub kegiatan menjadi rincian pelaksanaan kegiatan disertai dengan target output PNS dan PNS yang bertanggung jawab sebagai pelaksana dari rincian tersebut.
Metode Kerja
Kegiatan Pembuatan Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah Provinsi Jawa Tengah dalam bentuk tahapan-tahapan kegiatan, yang dilaksanakan sebagai berikut:
1. Tim Perancangan/DesainSistem (PendampinganPenyedia Jasa),
2. Tim Pembuatan/Pemrograman Aplikasi (Pendampingan Penyedia Jasa),
3. Pelaporan.
Lingkup Kegiatan
Kegiatan Pembuatan Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah Provinsi Jawa Tengah ini dilaksanakan dalam bentuk pembuatan modul-modul aplikasi berbasis web melalui tahap-tahap analisis, desain, koding, uji coba dan implementasi.
Perancangan Sistem
-Metodologi
Kegiatan Pembuatan Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah Provinsi Jawa Tengah dilaksanakan dalam bentuk pembuatan sebuah program aplikasi berbasis web melalui tahapan-tahapan sebagai berikut:
Komponen Sistem :
a. Arsitektur sistem : berbasis Web Application
b. Database MySQL dan Pemrograman dengan PHP
c. Server Aplikasi (Operating System Linux)
d. Komputer client dengan Web Browser (OS. Linux dan Windows)
a. Arsitektur sistem : berbasis Web Application
b. Database MySQL dan Pemrograman dengan PHP
c. Server Aplikasi (Operating System Linux)
d. Komputer client dengan Web Browser (OS. Linux dan Windows)
-Desain Aplikasi
Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah Provinsi Jawa Tengahdidesain dengan menggunakan pendekatan Desain Web berbasiskan Framework. Pendekatan ini bertujuan untuk mempermudah di dalam development system dan menghasilkan system yang user friendly bagi user, sehingga menghasilkan aplikasi yang mudah di pahami dan mudah digunakan untuk membantu system kerja di dalam monitoring kegiatan dan program yang ada.
-Otoritas Pengguna
Pada Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah Provinsi Jawa Tengah setiap user login mempunyai tipe user yang menentukan hak akses terhadap modul-modul yang ada. Setelah melalui proses validasi login, operator yang mempunyai hak akses terhadap modul ini dapat menjalankan proses-proses untuk input, edit, dan membuat laporan dalam format PDF yang dapat dicetak melalui printer.
Otoritas pengguna tersebut yaitu:
a. Administrator BKD
Memiliki semua hak akses, manajemen pengguna, manajemen setting aplikasi dan database.
b. Operator BKD
b. Operator BKD
Memiliki hak untuk inputdata program dan kegiatan, edit, menampilkan data, laporan dan seluruh dana perencanaan program dan kegiatan yang akan di susun di lingkungan BKD Pemerintah Provinsi Jawa Tengah.
c. User BKD
c. User BKD
Memiliki hak untuk mengakses aplikasi sesuai dengan bidangnya masing-masing.
Keluaran Kegiatan
Keluaran yang dihasilkan dari pelaksanaan pekerjaan ini adalah:
1. Perangkat lunak Pembuatan Aplikasi Pengendalian Internal untuk mendukung Kegiatan Pengelolaan dan monitoring Data Program dan Kegiatan di BKD Provinsi Jawa Tengah sehingga dapat diperoleh informasi yang cepat, tepat dan akurat demi terselenggaranya tertib administrasi pengelolaan keuangan dan pertanggung jawaban.
2. Dokumentasi yang berkaitan dengan pengembangan aplikasi, antara lain kebutuhan sistem, desain sistem, konfigurasi sistem dan arsitektur program.
3. Dokumentasi seluruh sistem dan perangkat lunak berupa buku manual.
4. Dokumentasi SOP (System Operation Procedure) maupun SMP (System Maintenance Procedure)
5. Instalasi aplikasi
6. Pelatihan, pendampingan/asistensi, garansi dan pemeliharaan. Media dokumentasi pada proyek ini dibuat dalam format softcopy danhardcopy. Format yang digunakan dalam dokumentasi dalam bentuk softcopy adalah menggunakan standar format MS Office atau PDF. Dokumen yang diserahkan tersebut harus merupakan versi final dari aplikasi yang telah dikembangan/dibangun melalui tahapan pengujian dan integrasi sistem aplikasi.
Kebutuhan Personil dan Peralatan
Untuk memperoleh hasil sebagaimana yang diharapkan, sesuai dengan tahapan-tahapan kegiatan dibagi menjadi kelompok kerja (tim), yaitu:
1. Tim Teknis Perancangan
2. Tim Teknis Pemrograman
3. Tim Evaluasi
Untuk kebutuhan tersebut, maka diperlukan beberapa tenaga ahli yang memenuhi kualifikasi yang memadai dan peralatan, sebagai berikut:
Jadwal Pelaksanaan
Pembiayaan
Pembiayaan Pembuatan Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah dibebankan APBD Perubahan Pemerintah Provinsi Jawa Tengah Tahun Anggaran 2015 DPA Nomor 3679/DPPA/2015 tanggal 13 Oktober 2015 Rekening 120.27.0026.5.2.2.21.05 Kegiatan Pengembangan Layanan Informasi Administrasi Kepegawaian serta Sinkronisasi Kebijakan Bidang Kepegawaian di Jateng mulai dari perencanaan sampai dengan pelaporan.
Tempat
Tempat Penyerahan hasil Pembuatan Aplikasi Pengendalian Internal adalah di Badan Kepegawaian Daerah Provinsi Jawa Tengah, Jl. Stadion Selatan No. 1 Semarang.
Pelaporan
Laporan pelaksanaan kegiatan dibuat dalam rangkap 10 (sepuluh) dalam bahasa Indonesia, meliputi:
1. Laporan Awal, berisi :
a. Metodologi/Rencana pelaksanaan pekerjaan
b. Alokasi Tim Ahli dan tenaga pendukung lainnya
c. Jadwal kegiatan penyedia jasa
d. Desain awal aplikasi
Laporan harus diserahkan selambat-lambatnya 7 (tujuh) hari kalender sejak SPMK diterbitkan.
2. Laporan Akhir, berisi :
a. Memuat seluruh proses kegiatan dan pertanggungjawaban karena telah selesainya tahapan-tahapan kegiatan yang sudah dilakukan
b. Dokumentasi lain yang berkaitan dengan kegiatan pengembangan sistem ini.
Laporan harus diserahkan selambat-lambatnya 45 (empat puluh lima) hari kalender sejak SPMK diterbitkan.
3. Manual Book sebanyak 10 (sepuluh) Buku
4. CD Master Aplikasi berisi seluruh laporan dan hasil aplikasi sebanyak 10 (sepuluh) CD
Penutup
Demikian Kerangka Acuan Kerja (KAK) Pembuatan Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah Provinsi Jawa Tengah ini disusun sebagai dasar pelaksanaan kegiatan, sehingga BKD Provinsi Jawa Tengah dapat mengatasi permasalahan-permasalahan yang ada, terutama dalam Pembuatan Aplikasi Pengendalian Internalpada Badan Kepegawaian Daerah provinsi Jawa Tengah.
Sumber: bkd.jatengprov.go.id
Keluaran yang dihasilkan dari pelaksanaan pekerjaan ini adalah:
1. Perangkat lunak Pembuatan Aplikasi Pengendalian Internal untuk mendukung Kegiatan Pengelolaan dan monitoring Data Program dan Kegiatan di BKD Provinsi Jawa Tengah sehingga dapat diperoleh informasi yang cepat, tepat dan akurat demi terselenggaranya tertib administrasi pengelolaan keuangan dan pertanggung jawaban.
2. Dokumentasi yang berkaitan dengan pengembangan aplikasi, antara lain kebutuhan sistem, desain sistem, konfigurasi sistem dan arsitektur program.
3. Dokumentasi seluruh sistem dan perangkat lunak berupa buku manual.
4. Dokumentasi SOP (System Operation Procedure) maupun SMP (System Maintenance Procedure)
5. Instalasi aplikasi
6. Pelatihan, pendampingan/asistensi, garansi dan pemeliharaan. Media dokumentasi pada proyek ini dibuat dalam format softcopy danhardcopy. Format yang digunakan dalam dokumentasi dalam bentuk softcopy adalah menggunakan standar format MS Office atau PDF. Dokumen yang diserahkan tersebut harus merupakan versi final dari aplikasi yang telah dikembangan/dibangun melalui tahapan pengujian dan integrasi sistem aplikasi.
Kebutuhan Personil dan Peralatan
Untuk memperoleh hasil sebagaimana yang diharapkan, sesuai dengan tahapan-tahapan kegiatan dibagi menjadi kelompok kerja (tim), yaitu:
1. Tim Teknis Perancangan
2. Tim Teknis Pemrograman
3. Tim Evaluasi
Untuk kebutuhan tersebut, maka diperlukan beberapa tenaga ahli yang memenuhi kualifikasi yang memadai dan peralatan, sebagai berikut:
Pembiayaan
Pembiayaan Pembuatan Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah dibebankan APBD Perubahan Pemerintah Provinsi Jawa Tengah Tahun Anggaran 2015 DPA Nomor 3679/DPPA/2015 tanggal 13 Oktober 2015 Rekening 120.27.0026.5.2.2.21.05 Kegiatan Pengembangan Layanan Informasi Administrasi Kepegawaian serta Sinkronisasi Kebijakan Bidang Kepegawaian di Jateng mulai dari perencanaan sampai dengan pelaporan.
Tempat
Tempat Penyerahan hasil Pembuatan Aplikasi Pengendalian Internal adalah di Badan Kepegawaian Daerah Provinsi Jawa Tengah, Jl. Stadion Selatan No. 1 Semarang.
Pelaporan
Laporan pelaksanaan kegiatan dibuat dalam rangkap 10 (sepuluh) dalam bahasa Indonesia, meliputi:
1. Laporan Awal, berisi :
a. Metodologi/Rencana pelaksanaan pekerjaan
b. Alokasi Tim Ahli dan tenaga pendukung lainnya
c. Jadwal kegiatan penyedia jasa
d. Desain awal aplikasi
Laporan harus diserahkan selambat-lambatnya 7 (tujuh) hari kalender sejak SPMK diterbitkan.
2. Laporan Akhir, berisi :
a. Memuat seluruh proses kegiatan dan pertanggungjawaban karena telah selesainya tahapan-tahapan kegiatan yang sudah dilakukan
b. Dokumentasi lain yang berkaitan dengan kegiatan pengembangan sistem ini.
Laporan harus diserahkan selambat-lambatnya 45 (empat puluh lima) hari kalender sejak SPMK diterbitkan.
3. Manual Book sebanyak 10 (sepuluh) Buku
4. CD Master Aplikasi berisi seluruh laporan dan hasil aplikasi sebanyak 10 (sepuluh) CD
Penutup
Demikian Kerangka Acuan Kerja (KAK) Pembuatan Aplikasi Pengendalian Internal pada Badan Kepegawaian Daerah Provinsi Jawa Tengah ini disusun sebagai dasar pelaksanaan kegiatan, sehingga BKD Provinsi Jawa Tengah dapat mengatasi permasalahan-permasalahan yang ada, terutama dalam Pembuatan Aplikasi Pengendalian Internalpada Badan Kepegawaian Daerah provinsi Jawa Tengah.
Sumber: bkd.jatengprov.go.id
Langganan:
Postingan (Atom)