Friday, October 25, 2013

Latihan Soal Pertemuan 6

1. Pemilihan ragam dialog dipengaruhi, kecuali
a. Karakterisitk populasi pengguna
b. Tipe dialog yang diperlukan
c. Kendala teknologi
d. Struktur dari data
e. Semua Benar

2. Faktor yang perlu dipertimbangkan dalam perancangan antarmuka berbasis teks, kecuali
a. Urutan penyajian
b. Kelonggaran
c. Pengelompokan
d. Kesederhanaan
e. Kesesuaian dengan media

3. Untuk merancang program aplikasi special purpose software adalah
a. User centered design
b. User design approach
c. Application Design Approach
d. Special Design Approach
e. Salah Semua

4. Urutan pertama dalam perancangan tampilan adalah
a. Perancangan format pesan
b. Perancangan struktur dialog
c. Pemilihan ragam dialog
d. Perancangan Struktur data
e. Perancangan penanganan kesalahan

5. Pada perancangan program dimungkinkan program berhenti karena terjadi kesalahan yg disebut
a. Error program
b. Abnormal terminator
c. Run time error
d. Syntax error
e. Semua benar

Design Interface (Perancangan Tampilan)

1. Cara Pendekatan
Terdapat 2 pendekatan dalam merancang tampilan yaitu :
a. User centered design approach.
b. User design approach.

2. Prinsip dan Petunjuk Perancangan
a. Urutan Perancangan
- Pemilihan ragam dialog
- Perancangan struktur dialog
- Perancangan format pesan
- Perancangan penanganan kesalahan
- Perancangan struktur data
b. Perancangan tampilan berbasis teks
- Urutan penyajian
- Kelonggaran
- Pengelompokan
- Relevansi
- Konsistensi
- Kesederhanaan
c. Perancangan tampilan berbasis Grafis
Terdapat 5 faktor yang diperlukan yaitu :
- Ilusi pada obyek-obyek.
- Urutan visual dan fokus pengguna.
- Struktur Internal.
- Kosakata grafis yang konsistensi dan sesuai.
- Kesesuaian dengan media.
d. Waktu tanggap
e. Penanganan Kesalahan

3. Peranti Bantu Sederhana
4. Jaring Semantik Tampilan

Latihan Soal Pertemuan 6

1.Dalam multiplicity, istilah yang menunjukkan batas bawah yang bernilai 0 adalah:
A. Optional
B. Mandatory
C. Single-valued
D. Multi-valued
E. Asosiasi

2.Yang merupakan sebuah garis solid antara dua class, ditarik dari class sumber ke class target adalah pengertian dari:
A. Properti
B. Atribut
C. Class
D. Multi-valued
E. Asosiasi

3. Gambar dibawah adalah:
A. Class
B. Multiplicity
C. Catatan dan komentar
D. Asosiasi
E. Atribut

4. Kata kunci dalam ketergantungan dalam sebuah class yang berarti sumber diambil dari target adalah:
A. derive
B. instantiate
C. permit
D. realize
E. refine

5. Sebuah class mempunyai 3 area yaitu:
A. Nama class, package, asosiasi
B. Nama class, asosiasi, metode
C. Nama class, atribut, operasi
D. Nama class, multiplicity, properti
E. Nama class, single-valued, multi-valued

Studi Kasus P6

PT. Bendi Car adalah sebuah perusahaan yang bergerak dibidang penyewaan mobil Semua transaksi di perusahaan masih dilakukan secara manual. Berikut ini adalah kegiatan kegiatan yang dilakukan oleh petugas dalam melaksanakan transaksi penyewaan mobil di dalam perusahaan.

1. Prosedure peminjaman
Penyewa mobil yang ingin melakukan peminjaman dapat melihat harga penyewaan mobil pada daftar harga sewa mobil. Penyewa dapat menggunakan jasa supir atau tidak sesuai dengan kebutuhan penyewa sendiri. Setiap jenis kendaraan memiliki harga sewa yang berbeda-beda begitu juga harga sewa jasa sopir untuk daerah Jabodetabek dan diluar jabodetabek pun berbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS) disertai fotocopy identitas diri. Kemudian Formulir penyewaan yang telah diisi beserta pelunasan pembayaran diserahkan kepada petugas kemudian petugas membuatkan kwitansi pembayaran sebagai bukti pembayaran.

2. Prosedure pengembalian
Pada saat pengembalian kendaraan oleh penyewa, petugas membawa Formulir Pengembalian dan memeriksa kondisi kendaraan apakah terdapat kerusakan atau tidak. Bila ada (misalnya spion pecah, body penyok, cat tergores, dll), maka diperhitungkan penggantiannya dan dibebankan kepada penyewa. Bila tidak rusak/terlambat maka tidak perlu mengisi Formulir pengembalian. Namun Bila penyewa terlambat dalam pengembalian, maka jumlah keterlambatan mobil dan sopir akan dibebankan kepada penyewa. Setelah membayar kerusakan dan keterlambatan, maka petugas membuatkan kwitansi sebagai tanda bukti pembayaran denda

3. Prosedure laporan
Diakhir bulan petugas membuat laporan penyewaan berikut denda atas kerusakan atau keterlambatan yang terjadi dan laporan kendaraan. Laporan tersebut diserahkan ke pemilik penyewaan Bendi car

Buatlah class diagram

Contoh Kasus (Acknowledgments Evi Lutfi Muktar)

Class Diagram diperoleh berdasarkan dari database
Contoh Kasus (Acknowledgments Evi Lutfi Muktar)

Ketergantungan

Sebuah ketergantungan muncul antara dua elemen jika perubahan definisi sebuah elemen dapat menyebabkan perubahan pada elemen lainnya. Dalam class ketergantungan muncul karena banyak hal, antara lain : salah satu class mengirim pesan ke class lain, salah satu class memiliki sebagian data, salah satu class menyebut class lain sebagai parameter sebuah operasi. Jika sebuah class mengubah antarmukanya, setiap pesan yang dikirim ke class tersebut dapat menjadi tidak valid.
Ketergantungan di gambarkan dengan garis putus-putus.


Banyak hubungan-hubungan UML menunjukkan ketergantungan. Asosiasi dengan kemampuan navigasi dari pesanan sampai ke pelanggan dalam gambar sebelumnya, berarti pesanan tersebut tidak tergantung pelanggan. Sebuah subclass tidak tergantung pada superclass-nya tetapi tidak sebaliknya.
Kata kunci dalam ketergantungan dapat dijelaskan sebagai berikut:


Catatan dan Komentar

Catatan merupakan komentar didalam diagram. Catatan-catatan dapat berdiri sendiri atau dihubungkan dengan garis hubung dengan elemen yang dikomentari.

Generalisasi

Contoh dari gambar class sebelumnya yang merupakan generalisasi melibatkan pelanggan perorangan dan pelanggan perusahaan. Keduanya mempunyai persamaan dan perbedaan. Persamaan tersebut dapat dimasukkan kedalam class pelanggan umum (supertype) dengan pelanggan perorangan dan pelanggan perusahaan sebagai subtype.
Dengan menggunakan perspektif perangkat lunak, interpretasi tersebut sudah termasuk: pelanggan perusahaan merupakan subclass dari pelanggan. Dalam object oriented subclass mewarisi semua fitur superclass dan dapat melakukan semua metode superclass.


Operasi

  • Operasi merupakan suatu kegiatan yang dimengerti sebuah class untuk dilakukan. Operasi secara jelas berhubungan dengan metode dalam sebuah class.
  • Istilah lain yang sering digunakan pada operasi adalah metode tetapi sebenarnya tidak sama. Perbedaannya adalah operasi adalah hal yang diharapkan pada sebuah objek (deklarasi prosedur), sedangkan sebuah metode adalah bentuk prosedur.
  • Dalam metode ada istilah getting dan setting. Metode getting akan mengembalikan nilai dari sebuh bidang (dan tidak melakukan hal lain selain itu) sedangkan metode setting meletakkan nilai kedalam sebuah bidang (dan tidak melakukan hal lain selain itu)

Asosiasi Bidireksional

Asosiasi bidireksional adalah sepasang properti yang saling berhubungan satu sama lain.
Sifat bidireksional ditunjukkan secara jelas dengan adanya panah navigasi pada kedua ujung asosiasi.


Multiplicity

Multiplicity merupakan indikasi tentang berapa banyak objek yang akan mengisi properti. Multiplicity yang sering digunakan adalah:
  • 1 (contoh: satu pesanan hanya bisa untuk seorang pelanggan)
  • 0..1 (contoh: pelanggan perusahaan dapat memiliki seorang sales rep)
  • * (contoh: tidak ada jumlah maksimal / tidak terbatas berapa jumlah pesanan yang dapat dibuat oleh pelanggan)

Beberapa macam istilah yang mengacu pada multiplicity:

- Optional
Menunjukkan sebuah batas bawah yang bernilai nol (0)
- Mandatory
Menunjukkan sebuah batas bawah yang bernilai satu (1) atau mungkin lebih
- Single-valued
Menunjukkan sebuah batas atas yang bernilai satu (1)
- Multivalued
Menunjukkan sebuah batas atas yang bernilai lebih dari satu (1) dan biasanya ditulis dengan tanda *



Properti, Atribut dan Asosiasi

Properti mewakili fitur-fitur struktural dari sebuah class. Properti merupakan sebuah konsep tunggal, tetapi tampak seperti dua notasi yang sedikit berbeda : atribut dan asosiasi. Meskipun tampak berbeda dalam sebuah diagram tetapi sebenarnya adalah hal yang sama.
Notasi atribut mendeskripsikan properti dengan sebaris teks didalam kotak class tersebut
Contoh:
-name : string [1] = “untitled” {read only}

Keterangan :
  •  +/- = tanda visibility, + public / - private
  • name = atribut, bagaimana class tersebut mengacu pada atribut
  • string = tipe dari atribut, menunjukkan sebuah batasan tentang objek apa yang dapat diletakkan dalam atribut tersebut 
  • [1] = multiplicity
  • untitled = devault value, nilai objek yang baru dibuat jika atribut tidak dispesifikasi selama pembuatannya
  • {property string}, memungkinkan untuk menunjuk properti tambahan, misalnya read only yang berarti bahwa klien tidak dapat mengubah properti tersebut.
Asosiasi merupakan sebuah garis solid antara dua class, ditarik dari class sumber ke class target. Nama properti bergerak sampai tujuan akhir sebuah asosiasi bersama dengan multiplicity. Tujuan akhir sebuah asosiasi menghubungkan dengan class yang merupakan jenis properti.
Properti dalam susunan atribut dapat digambarkan sebagai berikut:


Class Diagram

Class Diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat diantara mereka. Class diagram juga menunjukkan properti dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan-hubungan objek tersebut. UML menggunakan istilah fitur sebagai istilah umum yang meliputi properti dan operasi sebuah class.

Latihan Soal Pertemuan 6

1. Konsep Menara Hanoi merupakan salah satu dari contoh proses :
a. Iteratif
b. Transitif
c. Rekursif
d. Branching
e. Sorting

2. Suatu Proses yang memanggil dirinya sendiri , disebut proses :
a. Iteratif
b. Transitif
c. Rekursif
d. Branching
e. Searching

3. Rekursif adalah :
a. Suatu prosedur yang dapat dipanggil
b. Suatu proses yang bisa memanggil dirinya sendiri
c. Suatu proses yang dipanggil melalui suatu prosedur
d. Suatu prosedur Looping
e. Suatu proses Searching

4. Pada Menara Hanoi banyaknya pemindahan untuk N buah piringan ke menara tujuannya adalah :
a. 2n +1
b. 2n -1
c. 2n+1
d. 2n-1
e. 2n

5. Untuk menyelesaikan masalah menara Hanoi dengan banyaknya piringan ialah 6 buah , maka diperlukan
pemindahan sebanyak :
a. 19 kali
b. 63 kali
c. 31 kali
d. 32 kali
e. 33 kali

Konsep Menara Hanoi


  1. Jika n=1, maka langsung pindahkan saja piringan dr tiang A ke tiang C & selesai.
  2. Pindahkan n-1 piringan yg paling atas dr tiang A ke tiang B.
  3. Pindahkan piringan ke n (piringan terakhir) dr tiang A ketiang C
  4. Pindahkan n-1 piringan dari tiang B ke tiang C.

Langkah pemindahan tsb diatas dpt diubah dengan notasi sbb:
Menara (n,asal,bantu,tujuan)
Utk jml piringan n>1 dpt dibagi menjadi 3 notasi penyelesaian
Menara (n-1, Asal,Tujuan, Bantu);
Menara (n, Asal, Bantu, Tujuan); atau Asal -> Tujuan;
Menara (n-1, Bantu, Asal, Tujuan);


Ilustrasi diatas menghasilkan 15 langkah penyelesaian dari permasalahan konsep menara Hanoi dgn jumlah
piringan sebanyak 4 buah18

Rumus Langkah Pemindahan :

N = Jumlah Piringan

Fibonancy

Deret Fibonancy : 0,1,1,2,3,5,8,13,.........
Secara notasi pemrograman dapat ditulis sebagai :
Fibo (1) = 0 & Fibo (2) = 1 ....................................... (1)
Fibo (N) = Fibo (N-1) + Fibo (N-2) ................................. (2)

Contoh :

Deret Fibonancy
A[1] = 1;
A[2] = 2;
For (i=3; i<=10; i++)
{
A[i] = A[i-1] + A[i-2];
}

Faktorial

0! = 1
N! = N x (N-1)! Untuk N > 0

Scr notasi pemrograman dapat ditulis sebagai :

Misal :
hitung 5!, maka dapat dilakukan secara rekursif dgn cara :
5! = 5 * 4!
Scr rekursif nilai dr 4! Dpt dihitung kembali dgn 4 * 3!, shg 5! Menjadi :5! = 5 * 4 * 3!
Scr rekursif nilai dr 3! Dpt dihitung kembali dgn 3 * 2!, shg 5! Menjadi : 5! = 5 * 4 * 3 * 2!
Scr rekursif nilai dr 2! Dpt dihitung kembali dgn 2 * 1, shg 5! Menjadi : 5! = 5 * 4 * 3 * 2 * 1 = 120.

Contoh Listing Faktorial
#include <iostream.h>
#include <iomanip.h>
Unsigned long faktorial (unsigned long);
Int main()
{
for (int i=0; i:<=10; i++)
cout << setw(2) << i << “! Faktorial(i) << endl;
return 0;
}
// recursive definition of function factorial
Unsigned long factorial (unsigned long number)
{
if (number <=1) // base case
return 1;
else
return number * factorial(number – 1);

Fungsi Pangkat

Menghitung 10 pangkat n dengan menggunakan konsep rekursif.
Secara Notasi pemrograman dapat ditulis :


STRUKTUR REKURSIF

Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri.
Contoh konsep penggunaan Rekursif
Masalah : Memotong Roti tawar tipis-tipis sampai habis
Algoritma :
1.Jika roti sudah habis atau potongannya sudah paling tipis maka pemotongan roti selesai.
2.Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2 untuk sisa
potongannya.

Contoh Fungsi Rekursif
a. Fungsi pangkat
b. Faktorial
c. Fibonancy
d. Menara Hanoi

Latihan Soal Pertemuan 5

1. Gambar dibawah ini adalah jenis keyboard :
a. Keyboard Dvorak 
b. Keyboard QWERTY 
c. Keyboard Alphabetik
d. Keyboard Klockenberg
e. Keyboard Stenotype

2. Gambar dibawah ini adalah jenis keyboard :
a. Keyboard Dvorak 
b. Keyboard QWERTY 
c. Keyboard Alphabetik
d. Keyboard Klockenberg
e.Keyboard Stenotype

3. Dibawah ini adalah jenis Piranti perangkat keras pengambilan gambar terformat, kecuali :
a. Bar Code Reader
b. Image Scanner
c. Magnetic Ink Character Recognation (MICR)
d. Optical Mark Recognation (OMR)
e. Optical Character Recognation (OCR)

4. Dibawah ini yang merupakan jenis Piranti perangkat keras pengambilan gambar tidak terformat, adalah :
a. Bar Code Reader
b. Optical Character Recognation (OCR)
c. Magnetic Ink Character Recognation (MICR)
d. Optical Mark Recognation (OMR)
e. Image Scanner

5. Yang termasuk kelompok dalam tombol pada papan ketik adalah, kecuali :
a. Tombol Fungsi
b. Tombol Kontrol
c. Alfabet
d. Tombol Alphanumerik
e. Tombol Numeric

PIRANTI INTERAKTIF

1. Piranti Masukan Keyboard
Tombol pada papan ketik (keyboard) dikelompokkan menjadi 4 bagian :
a. Tombol Fungsi (function key)
b. Tombol Alphanumerik (alphanumeric key)
c. Tombol Kontrol (control key)
d. Tombol Numerik (numeric key)

Jenis-jenis tata letak papan ketik (keyboard) yaitu :
a. Tata Letak QWERTY
b. Tata Letak Dvorak
c. Tata Letak Alphabetik
d. Tata Letak Klockenberg
e. Papan Ketik untuk penyingkatan kata
Dibagi menjadi 2 yaitu :
- Tata letak Palantype
- Tata letak Stenotype
f. Papan Tombol Numerik


2. Peranti Penuding dan Pengambil (Pointing and picking device)
“ Peranti interaktif yang digunakan untuk menunjuk/menuding atau menempatkan kursor pada suatu posisi dilayar tampilan dan untuk mengambil suatu item informasi untuk dipindahkan ketempat lain “.
Peranti interaktif harus memenuhi syarat yaitu “dalam pengontrolan kursor harus ada umpan balik (feedback) yang segera nampak dilayar komputer ketika ada gerakan peranti interaktif “. Perbandingan (ratio) kontrol/tampilan :
Peranti penuding dan pengambil terdiri dari :
a. Mouse
- Mouse Mekanis
Bola yang terdapat di mouse akan menggerakan beberapa sensor ketika mouse digerakan.
- Mouse Optic
Terdiri dari 2 LED (Light Emitting Diode) dan 2 lensa (photo-transistor) untuk medeteksi gerakan. Salah satu LED akan mengeluarkan cahaya berwarna merah dan LED yang lain mengeluarkan cahaya inframerah
b. Joystick
Gerakan kursor dikendalikan oleh gerakan tuas atau dengan tekanan pada tuas.
c. Trackball
Prinsip kerjanya sama dengan mouse, tapi berbeda dalam cara penggunaanya.
d. Pointing Stick
Prinsip kerjanya sama dengan mouse dan cara penggunaannya sama dengan trackball
e. Touch Pad
f. Touch Screen
g. Digitizing tablet / Graphics tablet
Peranti pengambil data dalam bentuk sederatan koordinat (x,y) yang menentukan gerakan pena pada media digitasi.
h. Light Pen
Prinsip kerjanya adalah memantau selisih antara waktu saat elektron mulai melakukan gerakan dan pada saat lokasi tempat pena menyala.


3. Pengambilan Gambar Terformat
Dipergunakan untuk mengambil citra terformat, bentuk dan format hurufnya sudah ditentukan.
Kategori peranti ini adalah :
a. Bar code Reader
Pola garis-garis hitam putih yang sering djumpai pada barang-barang yang dijual di toko swalayan.
b. Magnetic Ink Character Recognation (MICR)
Digunakan untuk membaca karakter-karakter khusus yang dicetak dengan tinta khusus pula. Karakter yang telah diceak dengan tinta dimagnetisasi oleh Peranti MICR, sehingga dapat dibaca dan diterjemahkan menjadi sinyal digital.
c. Optical Mark Recognation (OMR)
Peranti yang membaca tulisan pensil dan mengubahnya menjadi bentuk yang dapat dibaca oleh komputer dengan bantuan refleksi optik dengan mengenali ketebalan tulisan.
d. Optical Character Recognation (OCR)
Peranti yang dapat membaca teks dengan mengonversikannya ke dalam kode digital. Dapat mengubah teks menjadi suara, merekam naskah.


4. Pengambil Gambar tak Terformat
Dipergunakan untuk mengambil gambar atau citra yang belum memiliki format baku.
Kategori peranti ini adalah :
a. Image Scanner
Peranti yang dapat mengambil masukan data gambar, foto bahkan juga tulisan tangan. Hasilnya kemudian diubah menjadi menjadi isyarat digital.
b. Kamera digital
Mengubah citra optik ke sebuah replika film atau elektronis. Menggunakan lensa untuk membuat citra dari sebuah obyek.
c. Pembaca Retina Mata
Berfungsi membaca retina mata dan menghasilkan identitas retina mata.

5. Gerakan
Peranti yang digunakan untuk memantau gerakan manusia yang banyak dimanfaatkan pada virtual reality adalah :
a. Headset
Peranti yang dipasang di kepala, menutup mata, yang digunakan untuk menangkap dan merekam gerakan kepala, serta menayangkan berbagai macam gambar ke mata pemakai.
b. Glove
Peranti berbentuk sarung tangan yang digunakan untuk merekam jenis serta kekuatan gerakan jari dan tangan pemakai.

5. Layar Tampilan terdiri dari :
a. Pengingat digital (frame buffer)
Citra yang akan ditampilkan ke layar disimpan sebagai matrix nilai elemennya menunjukkan intensitas dari citra grafis yang akan ditampilkan.
b. Pengendali tampilan (display controller)
Berfungsi untuk melewatkan isi pengingat digital dan mengolahnya untuk di tampilkan kelayar.
Gambar monitor :
- Pada pengingat digital (frame buffer), citra grafis ditampilkan sebagai pola bit.
- Dengan mengolah pola bit menjadi pixel. Untuk gambar hitam-putih, warna hitam menggunakan bit 1 dan warna putih menggunakan bit 0.

6. Pengolah Tampilan (display processor)
Bagian yang mengubah pola bit dari pengingat digital menjadi tegangan analog, yang selanjutnya akan membangkitkan elektron yang digunakan untuk menembak fosfor pada layar tampilan.

Jenis adapter atau pengolah tampilan yang digunakan pada komputer adalah :
- MDA (Momochrome Display Adapter)
- CGA (Color Graphics Adapter)
- VGA (Video Graphics Array)
- SVGA (Super Video Graphics Array).

7. Tipe Layar Tampilan
Beberapa jenis tipe layar tampilan :
a. Direct-drive Monochrome Monitor
b. Composite Monochrome Monitor
c. Composite Color Monitor
d. Red-Green-Blue Monitor
e. Variable Frequency















Latihan Soal Pertemuan 5

1.Setiap objek / participant terhubung dengan garis titik-titik yang disebut:
A. Message
B. Lifeline
C. Recursive
D. Sequence
E. Time

2.Diagram yang menunjukkan sejumlah contoh objek dan message yang diletakkan diantara objek-objek didalam use case disebut:
A. Class diagram
B. Sequence Diagram
C. Statechart Diagram
D. Package
E. Use Case

3. Waktu dalam sequence diagram ditunjukkan dengan:
A. Garis Vertikal
B. Garis Horisontal
C. Tanda panah
D. Tanda panah tertutup
E. Kotak

4. Operator dalam sebuah frame yang berarti bahwa fragmen mungkin dijalankan berulang kali dan guard menunjukkan basis iterasi
A. alt
B. opt
C. par
D. loop
E. region

5. Sebuah objek yang mempunyai sebuah operation kepada dirinya sendiri disebut:
A. Sequence
B. Message
C. Participant
D. Loop
E. Recursive

Studi Kasus P5

PT. Bendi Car adalah sebuah perusahaan yang bergerak dibidang penyewaan mobil Semua transaksi di perusahaan masih dilakukan secara manual. Berikut ini adalah kegiatan kegiatan yang dilakukan oleh petugas dalam melaksanakan transaksi penyewaan mobil di dalam perusahaan.

1. Prosedure peminjaman
Penyewa mobil yang ingin melakukan peminjaman dapat melihat harga penyewaan mobil pada daftar harga sewa mobil. Penyewa dapat menggunakan jasa supir atau tidak sesuai dengan kebutuhan penyewa sendiri. Setiap jenis kendaraan memiliki harga sewa yang berbeda-beda begitu juga harga sewa jasa sopir untuk daerah Jabodetabek dan diluar jabodetabek pun berbeda. Setelah itu penyewa mengisi Formulir Penyewaan (FS) disertai fotocopy identitas diri. Kemudian Formulir penyewaan yang telah diisi beserta pelunasan pembayaran diserahkan kepada petugas kemudian petugas membuatkan kwitansi pembayaran sebagai bukti pembayaran.

2. Prosedure pengembalian
Pada saat pengembalian kendaraan oleh penyewa, petugas membawa Formulir Pengembalian dan memeriksa kondisi kendaraan apakah terdapat kerusakan atau tidak. Bila ada (misalnya spion pecah, body penyok, cat tergores, dll), maka diperhitungkan penggantiannya dan dibebankan kepada penyewa. Bila tidak rusak/terlambat maka tidak perlu mengisi Formulir pengembalian. Namun Bila penyewa terlambat dalam pengembalian, maka jumlah keterlambatan mobil dan sopir akan dibebankan kepada penyewa. Setelah membayar kerusakan dan keterlambatan, maka petugas membuatkan kwitansi sebagai tanda bukti pembayaran denda

3. Prosedure laporan
Diakhir bulan petugas membuat laporan penyewaan berikut denda atas kerusakan atau keterlambatan yang terjadi dan laporan kendaraan. Laporan tersebut diserahkan ke pemilik penyewaan Bendi car

Buatlah Sequence diagram dari sistem diatas


Contoh Kasus Penggajian (Acknowledgments Evi Lutfi Muktar)

SEQUENCE DIAGRAM INPUT DATA PEGAWAI

SEQUENCE DIAGRAM INPUT DATA PENDIDIKAN

SEQUENCE DIAGRAM INPUT DATA KELUARGA

SEQUENCE DIAGRAM ABSEN MASUK

Looping, Syarat dan Like

Loop dan conditional menggunakan kerangka interaksi (interaction frame), yaitu frame untuk memberi tanda pada sequence diagram (lihat gambar pada slide berikutnya). Umumnya frame terdiri dari beberapa region pada sequence diagram, yang dibagi menjadi satu atau lebih fragmen. Setiap frame mempunyai sebuah operator. Sebuah fragmen mungkin mempunyai satu guard.


Simbol Sequence Diagram


Sequence Diagram

- Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
- Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
- Diagram ini secara khusus berasosiasi dengan use case diagram
- Memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case

Latihan Soal Pertemuan 5

1. Struktur pernyataan yang BUKAN berupa perulangan (looping) adalah :
a. For
b. Do…While
c. While
d. If
e. else

2. Suatu proses pengulangan kembali alur kerja disebut…
a. Branching
b. Looping
c. Rekursif
d. Iteratif
e. searching

3.Diberikan penggalan algoritma :
while (x>7)
x- - ;
cout<<x ;
Apabila nilai awal x adalah 9, maka nilai yang ditampilkan berturut-turut adalah
a. 9, 8, 7
b. 9, 8
c. 9
d. 8, 7
e. 8

4. Diberikan penggalan algoritma :
do
cout<<x ; x--
while (x>7)
Apabila nilai awal x adalah 9, maka nilai yang ditampilkan berturut-turut adalah
a. 9, 8, 7,6
b. 9, 8 ,7
c. 9
d. 8, 7
e. 7

5. Diberikan penggalan algoritma :
do
x- - ; cout<<x ;
while (x>7)
Apabila nilai awal x adalah 9, maka nilai yang ditampilkan berturut-turut adalah
a. 9, 8, 7
b. 9, 8
c. 8
d. 8, 7
e. 9

Tugas

1.Buatlah Algoritma dan program untuk menentukan total pembelian minuman apabila diberlakukan ketentuan berikut ini:
Kode Minuman diinputkan. Apabila total pembelian melebihi 100000, maka akan mendapatkan potongan sebanyak 15%, sebaliknya jika kurang dari 100000 tidak mendapatkan potongan

2.Buatlah algoritma dan program untuk menentukan sisa hasil pembagian antara bilangan yang dimasukkan dengan bilangan pembagi. Apabila sisa baginya=0 maka dicetak tidak ada dan jika ada sisa baginya ditampilkan.

Contoh 2

Contoh: 
Buatlah Algoritma dan program untuk mencetak bilangan 0 - 6, ketika proses pencetakan bilangan pada 4, maka bilangan ini dilewati. hasil outputnya adalah: 0,1,2,3,5,6.
Algoritmanya adalah sebagai berikut:
1. Tentukan nilai awal, batas akhir dan pertambahan nilai
2. Lakukan pengulangan sesuai dengan langkah 1
3. Jika dalam pengulangan bilangan yang ditampilkan sama dengan 4, maka pengulangan berhenti dan dilanjutkan ke bilangan selanjutnya.
4. Cetak bilangan
5. Jika dalam pengulangan bilangan yang akan ditampilkan sama dengan 6, maka pengulangan dihentikan

Adapun Programnya sebagai berikut:
#include <stdio.h>
#include <conio.h>
main()
{ int i;
for (i=0; i<10; ++i)
{ if (i==4) continue;
printf("bilangan : %d \n",i);
if (i==6) break;
} getch();
}

Output Program :

Perintah Continue:

digunakan untuk mengarahkan jalannya program ke iterasi (proses) berikutnya pada loop yang sama.
Bentuk umumnya adalah:
while (kondisi)
{
......
......
Continue;
......
......
}


Contoh 1

Buatlah Flowchart dan program untuk menginput sejumlah Bilangan integer satu per satu dan menghitung totalnya. Inputan akan berhenti apabila nilai yang diinput lebih besar dari 100. Kemudian mencetak total dan proses selesai.
Hasil Outputnya adalah sbb:

Flowchart dan programnya

Listing Program, sbb:
#include <stdio.h>
#include <conio.h>
void main()
{ int n, t;
t=0;
while (1)
{ scanf("%i",&n);
t=t+n;
if (t >= 100)
break; }
printf("%i",t);
getch(); }

Perhatikan: nilai kondisi pada while (1), karena menurut bahasa
C nilai tersebut bernilai True. Looping akan dikerjakan terus
sampai dipaksa keluar oleh instruksi break;

Perintah BREAK

berfungsi untuk keluar dari suatu loop for, do...while,
while.
Bentuk Umumnya adalah:
{
......
......
break;
......
......
}
.......

Nested For

Perulangan for di dalam perulangan for lainnya.
Bentuk Umum :
For (inisialisasi; syarat pengulangan; pengubah nilai)
{
For (inisialisasi; syarat pengulangan; pengubah nilai)
{
perintah ;
}
}

Contoh Program Menggunakan Nested-For:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{ int i, j;
for (i=1; i<=5; i++)
{ cout<<endl;
for (j=1; j<=i; j++)
cout<<"*";}

getch(); }

Outputnya :