Deployment and Package Diagram

1.Apa Itu Deployment Diagram ?

Deployment diagram adalah termasuk ke dalam jenis alat atau bahasa (UML) yang digunakan untuk memvisualisasikan, menspesifikasikan, dan mendokumentasikan proses yang terjadi pada suatu sistem perangkat lunak berbasis Object Oriented yang akan dibangun. Tujuan atau fungsi dari deployment diagram yaitu untuk menggambarkan/memvisualisasikan secara umum proses yang terjadi pada suatu sistem/software.

Dalam deployment diagram terdapat simbol-simbol serta relasi yang sering digunakan yaitu sebagai berikut :
1). Node
Node digunakan untuk menggambarkan infrastruktur apa saja yang terdapat pada sistem. Biasanya node digambarkan sebagai server, pc, dan lain-lain.
Node dapat digambarkan dengan bentuk kubus tiga dimensi. Node juga dapat digambarkan dalam bentuk visual atau gabungan antara node dan visual.

Node dibagi menjadi dua yaitu device dan execution environment.

  • Device merepresentasikan hardware seperti : pc, laptop, handphone, dll
  • Execution environment merepresentasikan software containers seperti : OS, JVM, application servers, portal servers, dll

2).Component

Component merepresentasikan bagian modular dari sebuah sistem yang mengkapsulasi isi dan yang memanifest dapat diganti dalam lingkungannya. component mendefinisikan perilaku dalam hal interface yang disediakan dan diperlukan. component dimodelkan sepanjang siklus hidup pengembangan dan berturut-turut disempurnakan menjadi deployment dan run – time. deployment specification dapat mendefinisikan nilai-nilai yang parameterisasi eksekusi komponen.

komponen, component

3).Communicates/Link

adalah asosiasi antara dua deployment target, melalui pertukaran sinyal dan pesan. Communication path digambarkan dengan bentuk garis utuh yang menghubungkan anatra dua node. Jenis komunikasi yang dimodelkan dapat ditampilkan menggunakan stereotip yang tepat. Saat deployment targetnya adalah execution environments. Communication path akan merepresentasikan bebeberapa protocol

bentuk communicates/link :

communicates, link

contoh :

4).Dependency

adalah hubungan yang menandakan bahwa satu atau sekumpulan model element membutuhkan model element lainnya untuk spesifikasi atau implementasinya. Dependency biasa juga disebut supplier yang menyediakan sesuatu untuk client. Memodifikasi supplier dapat mempengaruhi client element

bentuk dependency :

dependency

contoh :

5).Manifestation

adalah hubungan abstraction yang mepresentasikan physical rendering atau hasil implementasi satu atau lebih model element dari artifact. Atau pemanfaatan model element dari konstruksi artifact. Artifact memanifest atau menunjukan satu atau lebih dari model element. Artifact bisa memiliki satu atau lebih manifestation. Setiap darinya memepresentasikan packageable element.

6).Deployment Target

adalah lokasi untuk artifact yang telah dikerahkan. Deployment target tidak memiliki notation sendiri, tapi melihat notations untuk subclasses.

7).Deployment

adalah hubungan dependency yang mendeskripsikan alokasi dari artifact ke deployment target. Deployment juga dapat didefinisikan instansi level sebagai alokasi spesifik instansi artifact menuju ke spesifik instansi dari deployment target

Component deployment adalah deplyomnet dari satu atau lebih artifact atau instansi artifact, bersifat opsional yang terparameterisasi oleh deployment spesifiacation

Deployment bisa diperlihatkan melalui tiga cara yaitu :

  • Dengan deployed artifact yang terkandung di deployment target,
  • Dengan bentuk tulisan daftar deployed artifact dalam deployment target
  • Dengan bentuk persegi panjang dengan nama deployment yang terletak dipojok kiri atas.

Kata deployment di heading disingkat menjadi dep

contoh :

8).Deployment Spesification

adalah artifact yang menyespesifikasikan set dari deployment properties yang menentukan parameter – parameter eksekusi dari component artifact yang dikerahkan ke node.

Deployment specification dapat ditujukan spesifik tipe container untuk component – component.

Deployment specification adalah mekanisme umum untuk memparameteri deployment relationship.

Deployment specification di specification level dirender sebagai classifier dalam kotak dengan opsi deployment properties di dalam compartment. Artifact yang mengimplementasikan deployment specification properties di level instansi adalah deployment descriptor. deployment descriptor ditandai dengan garis bawah di kotak classifier

contoh :

9).Deployment Specification Dependency

Deployment specification bisa ditampilkan sebagai kotak classifier yang melampirkan component artifact menggunakan panah dependency yang menunjuk ke deployed artifact.

contoh :

10). Deployment Specification Association

Deployment specification bisa diasosiasikan dengan deployment dari sebuah component artifact dalam sebuah node. Dalam kasus ini deployment specification bisa ditunjukan sebagai kotak classifie yang dilampirkan ke deployment.

2.Apa Itu Package Diagram?

Package diagram merupakan salah satu jenis UML yang digunakan untuk  mengelompokkan elemen-elemen model dari use case ataupun class diagram. biasanya package diagram digunakan pada kumpulan sistem yang besar. karena dengan adanya diagram ini, dapat mempermudah pembacaan dan pembuatan sistem dengan cara mengumpulkan atribut-atribut yang sejenis.

Adapun Fungsi dari package diagram :
1.    Memperlihatkan bagaimana elemen model diorganisasikan/dikelompokkan ke dalam packages
2.    Biasanya dipakai pada use case diagram atau class diagram
3.    Packages digambarkan sebagai sebuah direktori (file folders) yang berisi model-model elemen
4.    Packages dapat diterapkan pada sembarang diagram UML
5.    Walaupun package secara resmi bukanlah diagram UML, namun kegunaannya cukup signifikan
6.   Penjelasan package diagram pada masing-masing diagram UML

simbol yang digunakan pada package diagram :

package diagram.PNG

contoh :

cotoh package.PNG

Referensi :

PENERAPAN RAPID APPLICATION DEVELOPMENT PADA SISTEM PENJUALAN SEPEDA ONLINE

ABSTRAK

Tujuan penelitian menerapkan metode RAD (Rapid Application Development) untuk menghasilkan sistem

penjualan sepeda online melalui integrasi basis data dan membangun hubungan dengan pelanggan secara lebih

personal. Sasarannya lebih kearah memperluas jangkauan pemasaran dan meningkatkan penjualan melalui media

yang lebih fleksibel dan lebih ekonomis. Pemodelan sistemnya menggunakan UML (Unified Modeling Language).

Penelitian berbentuk studi kasus dengan metode penelitian research and development (R&D). Perancangan sistem

perangkat lunak meliputi bagian front-end dan sistem manajemen konten yang secara spesifik meniadakan

perantara, mengurangi biaya operasional penjualan, menpermudah pengiriman, dan penerimaan pembayaran secara

online. Hasil pengujian memperlihatkan proses digitisasi penjualan memiliki verifikasi yang akurat mengenai

sistem navigasi, pendataan isi keranjang belanja, mudah menelusuri pemrosesan data pemesanan, dan konfirmasi

penerimaan pembayaran.

Kata kunci: sistem penjualan online, metode RAD, unified modeling language.

Use case diagram.PNG

Scenario Use case Sistem Penjualan Sepeda Online

Use Case Name sistem penjualan sepeda online
Use Case ID UCU-10
Actor admin dan konsumen
Description Use Case menggambarkan konsumen dan admin melakukan proses penjualan
Scanario Untuk pemodelan sistem penjualan sepeda online ini diawali dengan menampilkan diagram use case.
Diagram ini untuk menjelaskan manfaat penggunaan sistem menurut sudut pandangan orang yang berada di luar
sistem atau actor. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dari cara kerja sistem
berinteraksi dengan dunia luar. Diagram use case pengelolaan konten website sistem penjualan sepeda online terdiri
dari admin, pelanggan dan guest. Actor admin bertugas untuk memanajemen isi dari website secara keseluruhan.
Actor pelanggan mengelola isi dari profil sendiri, melihat promosi khusus, memesan sepeda dan melakukan
konfirmasi pembayaran. Sedangkan actor guest adalah pengunjung website yang ingin mendapatkan informasi
mengenai sepeda.

link Jurnal :

https://jurnal.umk.ac.id/index.php/simet/article/view/234

Levelling Use Case

1.Apa itu Use Case ?

Use Case adalah  sebuah teknik yang digunakan dalam pengembangan sebuah software atau sistem informasi untuk menangkap kebutuhan fungsional dari sistem yang bersangkutan, Use Case menjelaskan interaksi yang terjadi antara ‘aktor’ — inisiator dari interaksi sistem itu sendiri dengan sistem yang ada, sebuah Use Case direpresentasikan dengan urutan langkah yang sederhana.

Perilaku sistem adalah bagaimana sistem beraksi dan bereaksi. Perilaku ini merupakan aktifitas sistem yang bisa dilihat dari luar dan bisa diuji.Perilaku sistem ini dicapture di dalam USE CASE. USE CASE sendiri mendeskripsikan sistem, lingkungan sistem, serta hubungan antara sistem dengan lingkungannya.

Deskripsi dari sekumpulan aksi sekuensial yang ditampilkan sistem yang menghasilkan yang tampak dari nilai ke actor khusus. Use Case digunakan untuk menyusun behavioral things dalam sebuah model. Use case direalisasikan dengan sebuah collaboration.

Manfaat Use Case :

  • Digunakan untuk berkomunikasi dengan end user dan domain expert.
  • Memastikan pemahaman yang tepat tentang requirement / kebutuhan sistem.
  • Digunakan untuk mengidentifikasi siapa yang berinteraksi dengan sistem dan apa yang harus dilakukan sistem.
  • Interface yang harus dimiliki sistem.
  • Digunakan untuk ferifikasi.

Karakteristik use case :

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

2.Komponen Use Case

Use Case memiliki beberapa komponen yaitu :

a. Actor

Menggambarkan sesorang yang beriteraksi dengan sistem, di mana hanya bisa menginputkan informasi dan menerima indormasi dari sistem dan tidak memegang kendali pada use case. Dan biasa actor di gambarkan dengan stickman.

b. Use Case

Gambaran fungsional sistem yang akan di buat, agar pengguna lebih mengerti penggunaan system.

c. Relasi Dalam Use Case

Ada beberapa relasi yang terdapat pada use case diagram:

1). Association, menghubungkan link antar element.

2). Generalization, sebuah elemen yang menjadi spesialisasi dari elemen yang lain.

3). Dependency, sebuah elemen yang bergantung beberapa cara kepada elemen lainnya.

4). Aggregation, bentuk assosiation yang di mana sebuah elemen berisi elemen lainnya.

contoh :

Hasil gambar untuk Use case

Use case memiliki 2 istilah :

  1. sistem use case :interaksi dengan sistem
  2. Busenes use case: interaksi bisnis dengan konsumen atau kejadian nyata

dan diantara 2 istilah tersebut inilah macam-macam dari levelling use case :

  1. Sea level

Adalah Use case yang menggambarkan interaksi antara aktor utama dengan sistem

2. Fish Level

Adalah usecase yang ada karena include dari use case sea level

3. Kite Level

Adalah mengambarkan sealevel usecase untuk inteaksi bisnis yang lebih luas

 

Referensi :

Materi pertemuan 3

https://www.pojokcode.com/2012/01/uml-use-case-diagram.html

https://www.lucidchart.com/pages/uml-use-case-diagram?a=1

Aspek-aspek utama pada OOP(Object Oriented Programming)

Aspek utama pada OOP yaitu :

  1. Abstraction

adalah suatu cara untuk melihat suatu object dalam bentuk yang lebih sederhana. Sebagai contoh kita tidak melihat sebuah mobil sebagai ribuan komponen elektronik, sistem mekanik dengan empat buah ban, jok, stir kemudi dan sebagainya. Dengan Abstraction, suatu sistem yang kompleks dapat dipandang sebagai kumpulan subsistem-subsistem yang lebih sederhana, seperti halnya mobil merupakan suatu sistem yang terdiri atas berbagai subsistem, seperti subsistem kemudi, subsistem pengereman dan sebagainya.

Fungsi dari abstraction :

untuk memfilter atribut dan operation sehingga hanya tinggal atribut dan operation yang diperlukan saja

Contoh penerapan Abstraction dapat dilihat dibawah ini :

class Televisi
{
int volume = 0;

void naikkanvolume(int volume)
{
this.volume = this.volume + volume;
System.out.println(“Volume Televisi : ” + this.volume);
}
}

public class TelevisiBeraksi
{
public static void main (String[] args)
{
Televisi televisiku = new Televisi();
televisiku.naikkanvolume(5);
}
}

Dari contoh diatas, dapat dilihat terjadinya interaksi antar objek didalam system Televisi, saya mengambil contoh volume televisi. Dari public class TelevisiBeraksi berinteraksi dengan class Televisi dengan mengirimkan pesan informasi yang berupa parameter –> naikkanvolume(5).

2. Inheritance

merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah class kepada class turunannya. Dengan konsep ini class yang dibuat cukup mendefinisikan attribute dan method yang spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan didapatkan dari class yang menjadi induknya.

contoh :

foto baru.PNG

3. Encapsulation

merupakan proses pemaketan data bersama metode-metodenya dimana hal ini bermanfaat untuk menyembeunyikan rincian-rincian implementasi dari pemakai. Dalam sebuah objek yang mengandung variabel-variabel dan method-method, dapat ditentukan hak akses pada sebuah variabel atau method dari objek.

Ada 2 manfaat utama dari encapsulation yaitu :

  1. Penyembunyian Informasi (information hiding)

Hal ini mengacu kepada perlindungan terhadap implementasi obejk internal. Objek tersebut dari interface public dan bagian private yang merupakan kombinasi data dan metode internal. Manfaat utamanya adalah bagian internal dapat berubah tanpa mempengaruhi bagian-bagian program yang lain.

  1. Modularitas

Modularitas berarti objek dapat dikelola secara independen. Karena kode sumber bagian internal objek dikelola secara terpisah dari antarmuka, maka Kita bebas melakukan modifikasi yang tidak menyebabkan masalah pada bagian-bagian lain dari sistem. Manfaat ini mempermudah mendistriibusikan objek-objek dari sistem.

contoh program :

_____________________________________________

Class Mahasiswa:

package Encapsulation;

public class Mahasiswa {

private String jurusan;

private String Matkul;

private String nama;

private String npm;

public void setJurusan(String newValue){

jurusan = newValue;

}

public void setMatkul(String newValue){

Matkul = newValue;

}

public void setNama( String newValue){

nama = newValue;

}

public void setNpm(String newValue){

npm = newValue;

}

public String getJurusan(){

return jurusan;

}

public String getMatkul(){

return Matkul;

}

public String getNama(){

return nama;

}

public String getNpm(){

return npm;

}

}

_____________________________________________________________________________

Class Encapsulation:

package Encapsulation;

public class main {

public static void main(String[] args) {

Mahasiswa wie = new Mahasiswa();

wie.setJurusan(“Sistem Informasi “);

wie.setMatkul(“APSI “);

wie.setNama(“Raden Bayu Nur Azhar “);

wie.setNpm(“2017320039”);

System.out.println(“Jurusan:”+wie.getJurusan()+”MataKuliah:”+wie.getMatkul()+”Nama:” +wie.getNama()+”NPM:”+wie.getNpm());

}

}____________________________________________________________________________

Output:

Jurusan:Sistem Informasi MataKuliah:APSI Nama:Raden Bayu Nur Azhar NPM:2017320039

4.Polymorphism

Adalah Satu nama operation yang memiliki bentuk proses yang berbeda

Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :

  • Method yang dipanggil harus melalui variabel dari basis class atau superclass.
  • Method yang dipanggil harus juga menjadi method dari basis class.
  • Signature method harus sama baik pada superclass maupun subclass.
  • Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.

5. Message sending

merupakan Pengiriman pesan dari suatu objek kepada objek lain untuk melakukan suatu operation yang berhubungan dengan polymorphism.

6. Association

Adalah hubungan antara object. Relasi assosiasi biasa disebut is “a” relationship. Assosiasi berarti bahwa sebuah object “menggunakan” object yang lain. Assosiasi adalah sebuah relasi dimana semua object memiliki lifecycle nya sendiri dan tidak ada yang bertindak sebagai owner.

Contoh Teacher dan Student. Banyak Student dapat berasosiasi dengan satu Teacher dan satu Student dapat berasosiasi dengan banyak Teacher. Object keduanya bisa dibuat dan dihancurkan secara mandiri tanpa berpengaruh pada eksistensi object lain.

7. Aggregation

adalah bentuk hubungan yang lebih khusus dari Assosiasi dimana sebuah object memiliki lifecycle nya sendiri tapi dengan kepemilikan dan class child tidak dapat memiliki class parentnya. Relasinya biasa di sebut relasi “has-a”.

sebagai contoh, Department dan Teacher. Satu Teacher tidak dapat memiliki banyak Department, tapi jika kita menghapus object Department, object Teacher tidak akan ikut terhapus. Karena object teacher di buat di luar object department, sehingga jika object department dihancurkan maka object teacher tetap exist. Object department bisa memiliki banyak object teacher yang berasosiasi dengannya, tapi tidak sebaliknya. Sehingga dalam relasi ini object department adalah owner dari object teacher.

 

referensi :

https://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek

Perbedaan Asosiasi, Agregasi dan Komposisi pada Object Oriented Programming

http://willwellwie.blogspot.com/2014/10/encapsulation-inheritance-dan.html

https://ndoware.com/pemrograman-berorientasi-objekobject-oriented-programming-oop.html

 

METODOLOGI SDLC : ITERATIVE DAN FOUNTAIN

Sebelumnya apa itu SDLC ?

tahapan metode pengembangan.png

SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup Sistem), dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasa perangkat lunak angsyat Ä, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. Terdapat 3 jenis metode siklus hidup sistem yang paling banyak digunakan, yakni: siklus hidup sistem tradisional (traditional system life cycle), siklus hidup menggunakan prototyping (life cycle using prototyping), dan siklus hidup sistem orientasi objek (object-oriented system life cycle).

A.ITERATIVE

Merupakan model pengembangan system yang bersifat dinamis dalam artian setiap tahapan proses pengembangan system dapat diulang jika terdapat kekurangan atau kesalahan. Setiap tahapan pengembangan system dapat dikerjakan berupa ringkasan dan tidak lengkap, namun pada akhir pengembangan akan didapatkan system yang lengkap pada pengembangan system.

Terdapat dua jenis dalam iterative model yaitu :

  1. Model Incremental, merupakan model pengembangan system yang dipecah sehingga model pengembangannya secara increment/bertahap. Kebutuhan pengguna diprioritaskan dan prioritas tertinggi dimasukkan dalam awal increment. Model Incremental digambarkan sebagai berikut :
  2. https://itsum.files.wordpress.com/2010/09/iterasi.jpg Model Spiral, merupakan model pengembangan system yang digambarkan berupa spiral. Model spiral ini tidak merepresentasikan rangkaian tahapan dengan penelusuran balik (back-tracking), tidak ada fase-fase tahapan yang tetap seperti spesifikasi atau perancangan. Setiap untaian pada pada spiral menunjukkan fase software process. Model Spiral ini digambarkan sebagai berikut :

https://itsum.files.wordpress.com/2010/09/spiral.jpg

B.Fountain

merupakan perbaikan logis dari model waterfall, langkah langkah dan urutan prosedurnya pun masih sama. Namun pada model Fountain ini kita dapat mendahulukan sebuah step ataupun melewati step tersebut, akan tetapi ada yang tidak bisa anda lewati stepnya seperti kita memerlukan design sebelum melakukan coding jika itu di lewati maka akan ada tumpang tindih dalam siklus SDLC.

Langkah – Langkah dalam Model Fountain:

  • User requirements analysis ( Analisis Kebutuhan Pengguna), disini kita sebagai programmer dalam mengembangkan sistem harus menganalisa kebutuhan terhadap pengguna baik itu dalam cara penggunaan yang mudah maupun efisiensi terhadap sistem yang pengguna butuhkan.
  • User requirements specifications (Spesifikasi kebutuhan pengguna), dalam tahap ini kita harus tahu apa saja yang dibutuhkan pengguna dalam sistem yang sedang kita kembangkan.
  • Software requirements specifications (Spesifikasi persyaratan perangkat lunak), dalam tahap ini kita harus menyesuaikan software yang kita buat jika di lihat dari sisi pengguna. Jika pengguna awam tentunya kita harus menciptakan Software yang mudah digunakan.
  • Systems/broad design (logical design), sebelum pengimplementasi dalam coding kita harus mendesain sistem yang akan kita buat / kembangkan.
  • Program/detailed design (physical design), dalam tahap ini kita membuat desain yang mendekati fisik atau secara deail.
  • Implementation/coding, setelah tahap desain barulah kita mengimplementasikan dalam coding
  • Program testing: units, dalam tahap ini kita testing / cek kembali unit nit yang dibutuhkan dalam sistem yang sedang kita kembangkan .
  • Program testing: system, dalam tahap ini kita test kembali sistem yang telah kita buat.
  • Program use, dalam tahap ini kita ajarkan ke pengguna program yang telah kita buat.
  • Software maintenance, setelah sistem di pasang maka tentunya kita harus rutin mengupdate software / sistem yang telah kita buat agar terhindar dari kesalaha / bugs.

referensi :

https://id.wikipedia.org/wiki/SDLC

https://okkih.wordpress.com/2016/12/17/sdlc-metode-fountain/

https://itsum.wordpress.com/2010/09/26/model-pada-software-development-life-cycle-sdlc/

 

Information System Development(Pengembangan Sistem Informasi)

Apa Itu Information System Development ?

si

 

 

 

 

 

 

Adalah aktivitas pengembangan sistem melalui informasi yang tersedia guna menghasilkan sistem informasi bebrbasis computer untuk menyelesaikan persoalan organisasi atau memanfaatkan kesempatan yang ada.

Mengapa perlu adanya pengembangan sistem informasi ???

1.Menjamin adanya proses yang konsisten dan berkembang

2.Agar keamanan sistem lebih terjamin

3.Dapat mengetahui kelemahan sistem yang lama dan mengembangkannya ke sistem yang terbaru .

4. peningkatan terhadap pelayanan yang diberikan oleh sistem.

5.peningkatan terhadap kualitas informasi yang disajikan.

6.peningkatan terhadap pengendalian untuk mendeteksi dan
memperbaiki kesalahan-kesalahan serta kecurangan-kecurangan yang dan akan terjadi.

Macam-Macam Metodologi Pengembangan Sistem :

1.Metode System Development Life Cycle (SDLC)

adalah metode pengembangan sistem informasi yang pertama kali digunakan makanya disebut dengan metode tradisional atau metode klasik. Metode ini digunakan untuk mengembangkan, memelihara, dan menggunakan sistem informasi.

2.Metode Waterfall

adalah metode yang sering juga disebut model Sequential Linier. Metode pengembangan sistem yang paling tua dan paling sederhana. Cocok untuk pengembangan perangkat lunak dengan spesifikasi yang tidak berubah-ubah. Model ini menyediakan pendekatan alur hidup perangkat lunak secara sequential atau terurut dimulai dari analisa, desain, pengkodean, pengujian dan tahap pendukung.

3.Model Prototyping

adalah proses iterative dalam pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working system) yang secara terus menerus diperbaiki melalui kerjasama antara user dan analis. Prototipe juga bisa dibangun melalui beberapa tool pengembangan untuk menyederhanakan proses.

4.Model RAD (Rapid Application Development)

adalah penggabungan beberapa metode atau teknik terstruktur. RAD menggunakan metode prototyping dan teknik terstruktur lainnya untuk menentukan kebutuhan user dan perancangan sistem informasi. Selain itu RAD menekankan siklus perkembangan dalam waktu yang singkat (60 sampai 90 hari) dengan pendekatan konstruksi berbasis komponen.

5.Object Oriented Technology

adalah cara pengembangan perangkat lunak berdasarkan abstraksi objek-objek yang ada di dunia nyata. Dasar pembuatan adalah objek yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Filosofi Object Oriented sangat luar biasa sepanjang siklus pengembangan perangkat lunak (perencanaan, analisis, perancangan dan implementasi) sehingga dapat diterapkan pada perancangan sistem secara umum: menyangkut perangkat lunak, perangkat keras dan sistem secara keseluruhan.

6.Metode End-user Development

Disini pengembangan dilakukan langsung oleh end-user. Keterlibatan langsung end-user sangat menguntungkan, karena memahami benar bagaimana sistem bekerja. Artinya tahap analisis sistem dapat dilakukan lebih cepat. Kelemahan adalah pada pengendalian mutu dan kecenderungan tumbuhnya “private” sistem informasi. Integrasi dengan sistem yang lain menjadi sulit.

Tahapan Metode Pengembangan sistem informasi :

tahapan metode pengembangan.png

1.Perencanaan sistem (System Planning)

Lebih menekankan pada aspek studi kelayakan pengembangan sistem (feasibility study). Aktivitas yang ada meliputi:

  • Pembentukan konsolidasi tim pengembang
  • Mendefinisikan tujuan dan ruang lingkup pengembangan
  • Mengidentifikasi masalah-masalah yang ada, bisa diselesaikan melalui pengembangan sistem
  • Menentukan dan evaluasi strategi yang akan digunakan dalam pengembangan sistem
  • Penentuan prioritas teknologi dan pemilihan aplikasi.

2.Analisis sistem (System Analysis)

Analisis sistem adalah tahap di mana dilakukan beberapa aktivitas berikut:

  • Melakukan studi literature untuk menemukan suatu kasus yang bisa ditangani oleh sistem
  • Brainstorming adalah tim pengembang mengenai kasus mana yang paling tepat dimodelkan dengan sistem
  • Mengklasifikasikan masalah, peluang dan solusi yang mungkin diterapkan untuk kasus tersebut
  • Analisa kebutuhan pada sistem dan membuat batasan sistem
  • Mendefinisikan kebutuhan sistem.

3.Perancangan sistem (System Design)

Pada tahap ini, features dan operasi-operasi pada sistem dideskripsikan secara detail. Aktivitas-aktivitas yang dilakukan adalah:

  • Menganalisa interaksi obyek dan fungsi pada sistem
  • Menganalisa data dan membuat skema database
  • Merancang user interface.

4.Implementasi sistem (System Implementation)

Tahap berikutnya yaitu mengimplementasikan rancangan dari tahap-tahap sebelumnya dan melakukan uji coba. Dalam implementasi, dilakukan aktivitas-aktivitas sebagai berikut:

  • Pembuatan database sesuai skema rancangan
  • Pembuatan aplikasi berdasarkan desain sistem
  • Pengujian dan perbaikan aplikasi (debugging)

5.Pemeliharaan sistem (System Maintenance)

Dilakukan oleh admin yang ditunjuk untuk menjaga sistem tetap mampu beroperasi secara benar melalui kemampuan sistem dalam mengadaptasikan diri sesuai dengan kebutuhan.

Tahapan Metode Waterfall :

metode waterfall

1.Analisis kebutuhan (Requirement)

Dalam tahap ini merupakan analisa terhadap kebutuhan sistem. Pengumpul data pada tahap ini bisa melakukan sebuah penelitian, wawancara, atau studi literature. Seseorang analisis sistem akan menggali informasi sebanyak-banyaknya dari user sehingga akan tercipta sebuah sistem computer yang bisa melakukan tugas-tugas yang diinginkan oleh user tersebut. Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagi data yang berhubungan dengan keinginan user dalam pembuatan sistem. Dokumen inilah yang akan menjadi acuan sistem analisi untuk menterjemahkan ke dalam bahasa pemrograman.

2.Sistem desain (Design System)

Proses desain akan menterjemahkan syarat kebutuhan kesebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat koding. Proses ini berfokus pada struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) procedural. Tahapan ini kan menghasilkan dokumen yang disebut software requirement. Dokumen inilah yang akan digunakan programmer untuk melakukan aktivitas pembuatan sistemnya.

3.Penulisan sinkode program/implemention (Coding & Testing)

Coding merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh computer. Dilakukan oleh programmer yang akan menterjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian penggunaan computer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhapad sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut dan kemudian bisa diperbaiki.

4.Penerapan/pengujian program (Integration & Testing)

Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem. Setelah melakukan analisa, desain dan pengkodean maka sistem yang sudah dijadikan digunakan oleh user.

5.Pemeliharaan (Operation & Maintanence)

Perangkat lunak yang susah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan baru, atau karena pelanggan membutuhkan perkembangan fungsional.

referensi :

 

 

 

 

Studi kasus pembuatan aplikasi

source codenya :

#include <stdio.h>

#include <conio.h>

#include <iostream>

#include <iomanip>

#include <stdlib.h>

#include <string.h>

using namespace std;

 

judul()

{

printf(”              AGEN TIKET kapal Terpercaya \n”);

printf(“KODE KAPAL L = PESIAR | G = FERRY A = TITANIC\n”);

printf(”              D = DOMESTIK | I = INTERNASIONAL\n”);

printf(”          *******************************\n”);

}

 

garis()

{

printf(“======================================================================\n”);

}

 

struct

{

char kp[2],jp[20],paket[20],jenis_pelayaran[20];

int banyak;

long harga,subtotal,ppn;

}ra[10];

 

char pembeli[10],petugas[10],lagi,menu;

int a,b;

long total,bayar,kembali;

float ppn;

 

sum()

{

total=total+ra[a].subtotal;

}

 

int main()

 

{

awal:

system(“cls”);

ppn=0;

total=0;

judul();

cout<<“”<<endl;

cout<<“Selamat Datang Di AGEN TIKET KAPAL \Terpercaya\”..”<<endl<<endl;

cout<<“Pilihan Menu : “<<endl;

cout<<”     1. Input Data Transaksi”<<endl;

cout<<”     2. Log Out”<<endl<<endl;

garis();

cout<<“Inputkan Pilihan Anda = “;menu=getch();

cout<<menu<<endl;

cout<<“Tekan ENTER untuk melanjutkan..”;getch();

 

if(menu==’1′) goto transaksi;

else if(menu==’2′) goto akhir;

 

transaksi:

system(“cls”);

judul();

cout<<endl;

cout<<“INPUT DATA TRANSAKSI”<<endl<<endl;;

cout<<“Nama Petugas : “;cin>>petugas;

cout<<“Nama Pembeli : “;cin>>pembeli;

cout<<“Banyak Data  : “;cin>>b;

cout<<endl<<endl;

for(a=1;a<=b;a++)

{

cout<<“Data ke – “<<a<<endl;

cout<<“Input Kode KAPAL  [L/G/A] : “;cin>>ra[a].kp;

cout<<“Input Jenis Pelayaran D|I : “;cin>>ra[a].jp;

cout<<“Jumlah Beli                 : “;cin>>ra[a].banyak;

cout<<endl;

 

if((!strcmp(ra[a].kp,”l”))||(!strcmp(ra[a].kp,”L”)))

{

strcpy(ra[a].paket,”PESIAR”);

if((!strcmp(ra[a].jp,”D”))||(!strcmp(ra[a].jp,”d”)))

{

strcpy(ra[a].jenis_pelayaran,”Domestik”);

ra[a].harga=400000;

}

else if((!strcmp(ra[a].jp,”I”))||(!strcmp(ra[a].jp,”i”)))

{

strcpy(ra[a].jenis_pelayaran,”Internasional”);

ra[a].harga=600000;

}

}

if((!strcmp(ra[a].kp,”g”))||(!strcmp(ra[a].kp,”G”)))

{

strcpy(ra[a].paket,”FERRY”);

if((!strcmp(ra[a].jp,”D”))||(!strcmp(ra[a].jp,”d”)))

{

strcpy(ra[a].jenis_pelayaran,”Domestik”);

ra[a].harga=800000;

}

else if((!strcmp(ra[a].jp,”I”))||(!strcmp(ra[a].jp,”i”)))

{

strcpy(ra[a].jenis_pelayaran,”Internasional”);

ra[a].harga=700000;

}

}

else if((!strcmp(ra[a].kp,”a”))||(!strcmp(ra[a].kp,”A”)))

{

strcpy(ra[a].paket,”TITANIC”);

if((!strcmp(ra[a].jp,”D”))||(!strcmp(ra[a].jp,”d”)))

{

strcpy(ra[a].jenis_pelayaran,”Domestik”);

ra[a].harga=600000;

}

else if((!strcmp(ra[a].jp,”I”))||(!strcmp(ra[a].jp,”i”)))

{

strcpy(ra[a].jenis_pelayaran,”Internasional”);

ra[a].harga=500000;

}

}

}

 

system(“cls”);

judul();

cout<<“Nama Petugas  : “<<petugas<<endl;

cout<<“Nama Pembeli   : “<<pembeli<<endl<<endl;

cout<<“DATA PEMBELIAN TIKET Kapal”<<endl;

garis();

cout<<“No.  Nama             Jenis            Harga     Jumlah    Subtotal”<<endl;

cout<<”     kapal          Pelayaran                Beli      (10%)PPN”<<endl;

garis();

for(a=1;a<=b;a++)

{

cout<<setiosflags(ios::left)<<setw(5)<<a;

cout<<setiosflags(ios::left)<<setw(17)<<ra[a].paket;

cout<<setiosflags(ios::left)<<setw(17)<<ra[a].jenis_pelayaran;

cout<<setiosflags(ios::left)<<setw(12)<<ra[a].harga;

cout<<setiosflags(ios::left)<<setw(11)<<ra[a].banyak;

if(ra[a].banyak >3)

{

ppn=ra[a].harga*0.1;

}

else if(ra[a].banyak <3)

{

ppn=0;

}

ra[a].subtotal=ra[a].harga*ra[a].banyak+ppn;

cout<<setiosflags(ios::left)<<setw(11)<<ra[a].subtotal<<endl;

sum();

}

cout<<endl;

garis();

cout<<endl;

ra[a].subtotal=total;

total=ra[a].subtotal;

cout<<”                            Total Bayar    : “<<total<<endl;

cout<<”                            Uang Bayar     : “;cin>>bayar;

kembali=bayar-total;

cout<<”                            Uang Kembali   : “<<kembali;

cout<<endl<<endl;

garis();

cout<<“Terimakasih Atas Kepercayaan Anda Kepada Agen Kapal..”<<endl<<endl;

cout<<“Input Data Lagi [Y/T] ???”;cin>>lagi;

if(lagi==’Y’||lagi==’y’)

goto awal;

else

goto akhir;

 

akhir:

getch();

}

outputnya :

int.png

Apa itu object oriented program dalam bahasa pemrograman c++

Definisi

Object oriented program adalah pemrograman yang menitikberatkan kepada objek-objek untuk menyelesaikan tugas atau proses dari program tersebut. Sedangkan penitik beratkan ini dimaksudkan adanya interaksi pengiriman nilai,pesan atau pernyataan antar objek. Kemudian objek yang merespon hasil dari interaksi tersebut akan membentuk suatu tindakan atau aksi.

Class

Class merupakan gambaran atau abstraksi karakter dan sifat dari suatu objek. Class juga dapat mendefinisikan ciri dan perilaku objek tersebut.

Object

Object adalah suatu data atau entitas yang berwujud maupun tidak berwujud,memiliki sifat(karakteristik)tertentu sesuai dengan kondisi atau status dari penggunaannya. Data atau entitas dalam pemrograman dapat disebut dengan blok fungsi.

Contoh : pensil adalah suatu objek yang memiliki atribute(karakter)jenis,warna,panjang,dan lain-lain.

Metode

Metode adalah tata cara objek tersebut diperlakukan atau penggunaaan dari objek tersebut.             Pensil juga memiliki metode(perilaku) seperti diruncingkan,digunakan dan lain-lain.

Bentuk umum class

Bentuk umum dari class :

13.png

Pada sebuah class,item-item didalamnya bisa bersifat private atau public. Secara default semua item didalam kelas bersifat private. Jadi tanpa menuliskan kata kunci private,semua item didalam kelas sudah private.

 

A.Public pada kelas

Public menyatakan bahwa deklarasi variable atau item-item yang ada di dalam kelas dapat diakses dari luar kelas.

Latihan 1

Source codenya :

//penggunaan public pada class

#include <iostream>

#include <conio.h>

#include <stdio.h>

 

using namespace std;

 

garis()

{

cout << “========================\n”;

}

class siswa

{

public:

char nis[15],nama[20];

float nilai;

};

main()

{

siswa sekolah;

garis();

cout<<endl;

cout<<“\t program nilai siswa”<<endl;

cout<<“\t————“<<endl;

cout<<“\t————“<<endl;

cout<<” input NIS = “;

cin>>sekolah.nis;

cout<<” input Nama siswa = “;

cin>>sekolah.nama;

cout<<” input nilai akhir = “;

cin>>sekolah.nilai;

garis();

cout<<endl;

cout<<“\t Nilai Siswa”<<endl;

cout<<“\t————“<<endl;

cout<<” NIS = “<<sekolah.nis<<endl;

cout<<” Nama siswa = “<<sekolah.nama<<endl;

cout<<” Nilai akhir = “<<sekolah.nilai<<endl;

garis();

getch();

 

}

outputnya :

mantap cuy.png

B.Private pada kelas

Private digunakan untuk memproteksi anggota –anggota tertentu agar tidak dapat diakses dari luar kelas secara langsung.

Latihan 2

Source codenya :

//penggunaan private pada class

#include <conio.h>

#include <iostream>

#define pi 3.14

 

using namespace std;

 

class tabung

{

private:

int j,t;

float v,k;

public:

tabung();

void keluaran();

};

main()

{

tabung s;

s.keluaran();

getch();

}

tabung::tabung()

{

cout<<“\nMenghitung Tabung”<<endl;

cout<<“—————–“<<endl<<endl;

cout<<” Masukan Jari-Jari =”;

cin>>j;

cout<<” Masukan Tinggi =”;

cin>>t;

v=(pi*j*j)*t;

k=(2*(pi*2*j))+t;

}

void tabung::keluaran()

{

cout<<endl;

cout<<” Volume tabung =”<<v<<endl;

cout<<” Keliling tabung =”<<k<<endl;

}

outputnya :

bentar lagi.png

C.Konstruktor

Konstruktor adalah suatu fungsi dari anggota suatu kelas yang memiliki nama yang sama dengan nama kelas fungsi itu berada. Konstruktor ini digunakan untuk mengalokasikan ruang untuk suatu objek dan untuk memberika nilai awal.

Pendeklarian konstruktor :

Class hitung

{

Private:

int a;

int b;

public:

int a();

int b();

hitung (int mudah);//deklarasi konstruktor

};

Latihan 3

Source codenya :

//konstruktor

#include <conio.h>

#include <iostream>

 

using namespace std;

 

class bilangan

{

private:

int bulat;

double nyata;

public:

bilangan();

void info();

};

main ()

{

bilangan a;

a.info();

bilangan b;

b.info();

getch();

}

bilangan::bilangan()

{

cout<<“\nKonstruktor dijalankan …”<<endl;

bulat =5.2;

nyata =3.6;

}

void bilangan::info()

{

cout<<“\nJenis Bilangan :”<<endl;

cout<<“Bulat=”<<bulat<<endl;

cout<<“Nyata=”<<nyata<<endl;

}

outputnya :

konstruktor.png

Karakteristik OOP

Didalam penggunaan konsep pemrograman yang berbasis objek atau disebut object oriented pemrograman(OOP),haruslah memiliki karakteristik.

Adapun karakteristiknya tersebut adalah memiliki sifat turunan atau pewarisan (inheritance),satu nama memiliki banyak sifat atau perilaku(polymorphism),pembungkusan sifat dari objek yang berbeda(encapsulation).

Berikut akan dijelaskan karakter OOP tersebut :

1.Inheritance

Inheritance memungkinkan programmer untuk menurunkan sebuah class menjadi class lain yang lebih spesifik dan memiliki fungsi yang lebih komplit. Inheritance mempresentasikan hubungan “seperti” atau “sejenis”. Contoh :sebuah perahu motor adalah seperti perahu namun dengan kemampuan lebih yakni memiliki motor.

2.Polimorphism

adalah kemampuan 2 buah object yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang unik. Contoh : saya melatih lumba-lumba saya dengan perintah untuk meloncat dan juga saya melatih burung untuk merespon perintah saya untuk berkicau.

3.Encapsulation

Adalah sebuah proses dimana tidak ada akses langsung ke data yang diberikan,bahkan hidden. Jika ingin mendapat data maka harus berinteraksi dengan object yang bertanggung jawab atas data tersebut ,berikut ciri dari encapsulation :

-variable dan metode dalam suatu objek dibungkus agar terlindungi.

-untuk mengakses variable dan metode yang sudah dibungkus tadi perlu interface.

-setelah variable dan metode dibungkus,hak akses terhadapnya dapat ditentukan.

-konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur.

 

Dua hal dalam encapsulation :

-information hidding.

-menyediakan perantara(metode)untuk mengakses data.

Tugas pertemuan 13

Program perhitungan gaji  pegawai staff honor

Source codenya :

#include <stdio.h>

#include <windows.h>

#include <iostream>

#include <iomanip>

#include <cstdio>

#include <conio.h>

#include <ctime>

using namespace std;

void gotoxy(int x, int y){

COORD coord;

coord.X=x;

coord.Y = y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);}

int main()

{

int i,menu;

//char tanggal[20];

time_t now = time(0);

char* dt = ctime(&now);

int ttl=0;

int ttlkeseluruhan;

struct

{

char nama[20],lagi;

int honor,jjk,hl,total;

float nilaiakhir,ket;

}pegawai[5];

atas:

cout<< ” PT MERIANG GEMBIRA ” << endl;

//cout << “\n Hari-Bulan-Tahun”<<endl;

cout<<“\n Tanggal : “<<dt<<endl;

//cout<< ” Tanggal : “; cin>>tanggal;

//gets(tanggal);

cout<<” Masukan Jumlah Pegawai : “;cin>>menu;

//cout<<” Tanggal : “;cin>>pegawai[i].tanggal;

cout<<“\n————————- “;

cout<<endl;

for (i=1;i<=menu;i++)

{

cout<<” Pegawai Ke – “<<i<<endl;

cout<<” Nama Pegawai : “;cin>>pegawai[i].nama;

cout<<” Jumlah Jam Kerja : “; cin>>pegawai[i].jjk;

cout<<endl;

}

cout<<endl;

cout<<endl;

cout<<” PT MERIANG GEMBIRA”<<endl;

cout<<” Tanggal : “<<dt<<endl;

//cout<<” Tanggal : “<<tanggal<<endl;

cout<<“—————————- “<<endl;

cout<<” No. Nama Pegawai Honor – Jumlah jam Kerja – Honor Lembur – Total Honor “<<endl;

cout<<“————————– “<<endl;

//12345678901234567890123456789012345678901234567890123456789012345678901234567890

// 1 2 3 4 5 6 7 8

for(i=1;i<=menu;++i)

{

gotoxy(2,i+7); cout<<i;

gotoxy(6,i+7); cout<<pegawai[i].nama;

pegawai[i].honor=25000;

gotoxy(20,i+7); cout<<pegawai[i].honor;

gotoxy(30,i+7); cout<<pegawai[i].jjk;

if (pegawai[i].jjk>8)

{

pegawai[i].hl=((pegawai[i].jjk-8)*1500);

}else if (pegawai[i].jjk<8)

{

pegawai[i].hl=0;

}

gotoxy(51,i+7); cout<<pegawai[i].hl;

pegawai[i].total=pegawai[i].honor+pegawai[i].hl;

gotoxy(68,i+7); cout<<pegawai[i].total;

ttl=pegawai[i].total+ttl;

}

cout<<endl;

cout<<“————————– “<<endl;

cout<<“Total Honor Pegawai Sebesar : “<<ttl<<endl;

cout<<“————————– “<<endl;

cout<<“Input data lagi [Y]/[T]? :”;cin>>pegawai[i].lagi;

if(pegawai[i].lagi==’Y’||pegawai[i].lagi==’y’)

goto atas;

else

getch();

return 0;

}

outputnya :

jika.png

joko.png

Belajar structure C++

Definisi structure

Struktur digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur. Penggunaan Struktur menggunakan bentuk umum :

St.png

Hal yang perlu di perhatikan :

  • Penulisan nama Structure jika mengikuti bentuk umum pertama, penggunaan nama structure-nya tidak bisa langsung di gunakan, karena secara otomatis menjadi sebuah tipe data. Dan penggunaannya harus menggunakan objek/nama variabel yang menggunakan dari nama structure itu sendiri
  • Penulisan nama Structure dengan mengikuti bentuk umum kedua,maka penggunaan nama structure-nya bisa langsung di aplikasikan.

Contoh deklarasi struktur :

Struct mahasiswa

{

Char nim[5];

Char nama[15];

Float nilai;

};

Struct

{

Char nim[5];

Char nama[15];

Float nilai;

}mahasiswa;

Latihan 1

Source codenya :

/* program penggunaan structure */

/* nama file : struct1.cpp */

#include <stdio.h>

#include <conio.h>

#include <iostream>

using namespace std;

 

main()

{

struct

{

char nim[15];

char nama[15];

int nilai;

}mahasiswa;

cout<<” masukan NIM = “;

cin>>mahasiswa.nim;

cout<<” masukan Nama = “;

cin>>mahasiswa.nama;

cout<<” masukan nilai akhir = “;

cin>>mahasiswa.nilai;

cout<<“\n\n Data yang di inputkan adalah : \n\n “;

cout<<” Nim = ” <<mahasiswa.nim<<endl;

cout<<” Nama = ” <<mahasiswa.nama<<endl;

cout<<” nilai akhir = ” <<mahasiswa.nilai<<endl;

 

getch();

}

outputnya :

biar.png

Latihan 2

Source codenya :

/* tim penyusun Raden Bayu */

/* program penggunaan structure */

/* nama file : struct2.cpp */

#include <stdio.h>

#include <conio.h>

#include <iostream>

using namespace std;

 

main()

{

struct data

{

char nim[15];

char nama[15];

int nilai;

}datamahasiswa;

cout<<” masukan NIM = “;

cin>>datamahasiswa.nim;

cout<<” masukan Nama = “;

cin>>datamahasiswa.nama;

cout<<” masukan nilai akhir = “;

cin>>datamahasiswa.nilai;

cout<<“\n\n Data yang di inputkan adalah : “<<endl<<endl;

cout<<” Nim = ” <<datamahasiswa.nim<<endl;

cout<<” Nama = ” <<datamahasiswa.nama<<endl;

cout<<” nilai akhir = ” <<datamahasiswa.nilai<<endl;

 

getch();

}

outputnya :

anjay.png

Perbedaan dari 2 contoh latihan diatas adalah perbedaan penggunaan dari bentuk umum. Contoh latihan 1 menggunakan bentuk umum yang ke 2, sehingga penggunaan nama struktur bisa langsung digunakan tanpa harus dideklarasikan nama variabel lain. sedangkan contoh latihan 2, menggunakan bentuk umum yang ke 1, sehingga penggunaannya harus dideklarasikan lagi oleh nama variable lain yang menggunakan tipe dari nama struktur itu sendiri.

Menggabungkan struktur dengan array dan fuction

cnth 12.png

Catatan : jml_index array dideklarasikan bisa di nama struktur atau di elemen struktur. Perbedaannya adalah jika di letakkan di nama struktur maka ketika digunakan yang punya pelaku perulangan adalah nama struktur. Sedangkan jika diletakkan di elemen struktur maka ketika digunakan yang punya pelaku perulangan adalah elemen strukturnya.

Latihan 3

Source codenya :

/* program penggunaan structure pada fuction */

/* nama file : struct4.cpp */

#include <stdio.h>

#include <conio.h>

#include <iostream>

using namespace std;

 

char ket(float n);

 

main()

{

int i;

struct

{

char nim[20];

char nama[20];

float nilai;

}mhs[6];

for(i=1; i<6; i++)

{

cout<<” Data ke – “<<i<<endl;

cout<<” masukan NIM = “;

cin>>mhs[i].nim;

cout<<” masukan Nama = “;

cin>>mhs[i].nama;

cout<<” masukan nilai akhir = “;

cin>>mhs[i].nilai;

cout<<endl;

}

for(i=1; i<6; i++)

{

cout<<” Data ke- “<<i<<endl;

cout<<” Nim = ” <<mhs[i].nim<<endl;

cout<<” Nama = ” <<mhs[i].nama<<endl;

cout<<” nilai akhir = ” <<mhs[i].nilai<<endl;

cout<<” Keterangan yang didapat = “;

cout<<ket(mhs[i].nilai)<<endl;

cout<<endl;

}

getch();

}

char ket(float n)

{

if(n>65)

return ‘L’;

else

return ‘G’;

}

outputnya :

mantul

Catatan :

Penggunaan Struktur dengan array, dapat dilakukan dengan mengelompokkan variabel-variabel array kedalam nama struktur. Sehingga bisa terlihat bedanya variabel array dengan variabel biasa.

Tugas Pertemuan 12

Source codenya :

#include <iostream>

#include <conio.h>

#include <iomanip>

#include <stdio.h>

using namespace std;

 

struct nilai

{

char nama [20], grade;

int uas, uts;

float akhir;

}nilai [10];

 

bintang()

{

cout<<“\t***********************************************”<<endl;

}

 

garis()

{

cout<<“\t————————————————“<<endl;

}

 

float hasil (int uas1, int uts1)

{

return (uas1 * 0.4 + uts1 * 0.6);

}

 

char grade1 (float nil)

{

if (nil >= 80)

return ‘A’;

else if (nil >= 70)

return ‘B’;

else if (nil >= 56)

return ‘C’;

else if (nil >= 47)

return ‘D’;

else

return ‘E’;

}

 

main()

{

int i, n;

bintang();

cout<<“\t\tMENGHITUNG NILAI AKHIR MAHASISWA”<<endl;

bintang();

cout<<“\n\tMasukkan Jumlah Data Yang Akan Diinput : “; cin>>n;

for (i = 1; i <= n; i++)

{

cout<<“\n\tData ke – ” <<i<<endl;

cout<<“\t———–“<<endl;

cout<<“\t\tNama Mahasiswa : “; cin>>nilai[i].nama;

cout<<“\t\tNilai UTS      : “; cin>>nilai[i].uts;

cout<<“\t\tNilai UAS      : “; cin>>nilai[i].uas;

 

nilai[i].akhir = hasil (nilai[i].uas, nilai[i].uts);

nilai[i].grade = grade1 (nilai[i].akhir);

}

 

garis();

cout<<“\t\tDaftar Nilai Mata Kuliah C++”<<endl;

garis();

cout<<endl;

garis();

cout<<“\t| No. |   Nama    |    Nilai   | Nilai | Nilai |”<<endl;

cout<<“\t|     | Mahasiswa |  UTS | UAS | Akhir | Huruf |”<<endl;

garis();

for (i = 1; i <= n; i++)

{

cout<<setw(5)<<“\t|  “<<i;

cout<<setw(4)<<”  |   “<<nilai[i].nama;

cout<<setw(7)<<”    |  “<<nilai[i].uts;

cout<<setw(4)<<”  | “<<nilai[i].uas;

cout<<setw(5)<<” | “<<nilai[i].akhir;

cout<<setw(4)<<” |  “<<nilai[i].grade<<”    |”<<endl;

}

garis();

cout<<“\tJumlah Mahasiswa : “<<n<<” orang”<<endl;

garis();

 

getch();

}

outputnya :

gg bgt.png

 

sekian berbagi ilmu kali ini,semoga bermanfaat 🙂

belajar function di C++

Definisi function

Function adalah blok dari kode yang dirancang untuk melaksanakan tugas khusus.

Kegunaan dari function ini adalah untuk :
-Mengurangi pengulangan penulisan program yang berulangan atau sama.

-Program menjadi lebih terstruktur,sehingga mudah dipahami dan dapat lebih dikembangkan.

Pemanggilan function dapat berulang-ulang dengan cara memanggi nama functionnya.

Struktur Function

Sebuah fungsi sederhana mempunyai penulisan sebagai berikut :

Nama_fungsi(argument)

{

..pernyataan/perintah;

..pernyataan/perintah;

..pernyataan/perintah;

}

Keterangan :

-Nama fungsi boleh dituliskan secara bebas dengan ketentuan tidak menggunakan spasi,nama-nama fungsi mempunyai arti sendiri.

-Argumen diletakkan di antara tanda kurung () yang terletak dibelakang nama fungsi. Argumen boleh di isi oleh suatu data atau dibiarkan kosong.

-Pernyataan/perintah diletakkan di antara tanda kurung {}.

Fungsi dapat dibedakan menjadi 2 :

-Fungsi sederhana(tanpa parameter).

-fungsi berparameter.

Prototype function

Prototype fungsi adalah menjelaskan kepada kompiler tentang tipe data fungsi,jumlah parameter,tipe data dari masing-masing parameter.

Parameter function

Adalah suatu pendefinisian nilai dari objek-objek yang di deklarasikan pada bagian argumen di fungsi.

Parameter dibagi menjadi 2 yaitu :

-Parameter Formal

Adalah variable yang terdapat pada daftar parameter yang berada didalam definisi fungsi.

-Parameter Aktual

Adalah variable yang digunakan pada pemanggilan suatu fungsi.

Bentuk penulisan parameter

function1.png

Yang perlu diperhatikan dalam pembuatan fungsi berparameter :

1.Jumlah parameter formal dan parameter aktual harus sama.

2.Tipe data yang digunakan oleh parameter harus sama.

3.Tipe pemanggilan fungsi.

Macam-macam pemanggilan fungsi berparameter

Pemanggilan secara nilai

Pemanggilan secara nilai akan menyebabkan nilai parameter aktual tidak akan berubah ,walaupun nilai parameter formalnya berubah.

Contoh latihan pemanggilan secara nilai

Source codenya :

/*pemanggilan call by value

program tambah bnilai*/

 

#include <iostream>

#include <conio.h>

#include <cstdio>

#include <stdio.h>

 

using namespace std;

int tambah(int m, int n);

main()

{

int a,b;

a=5;

b=9;

cout<<” Nilai sebelum fungsi digunakan “;

cout<<” \n a=”<< a <<” b=”<< b;

tambah(a,b);

 

cout<<“\n Nilai setelah fungsi digunakan “;

cout<<” \n a=”<< a <<” b=”<< b;

getch();

}

tambah (int m, int n)

{

m+=5;

n+=7;

cout<<“\n\n Nilai di dalam fungsi tambah “;

cout<<“\n m=”<< m <<” n=”<< n;

cout<<endl;

}

outputnya :

contoh function

Pemanggilan secara reference

Pemanggilan fungsi dengan nilai akan menyebabkan nilai parameter aktual berubah dengan cara merubah nilai parameter formalnya. Untuk pemanggilan by reference memerlukan sebuah pointer (*) didepan nama parameter formalnya dan (&) untuk nama parameter aktualnya.

Contoh latihan pemanggilan secara reference

Source codenya :

/*penggunaan call by reference

program tambah nilai*/

 

#include <iostream>

#include <conio.h>

#include <stdio.h>

 

using namespace std;

 

int tambah(int *c,int *d);

main()

{

int a,b;

a=4;

b=6;

cout<<” Nilai sebelum pemanggilan fungsi”;

cout<<“\na=”<<a<<“b=”<<b;

tambah(&a,&b);

cout<<endl;

cout<<“\nNilai setelah pemanggilan fungsi”;

cout<<“\na=”<<a<<“b=”<<b;

getch();

}

int tambah(int*c,int*d)

{

*c+=7;

*d+=5;

cout<<endl;

cout<<“\nNilai di akhir fungsi tambah()”;

cout<<“\nc=”<<*c<<“d=”<<*d;

}

outputnya :

contoh 2.png

1.Program hitung potongan

Source codenya :

#include <conio.h>

#include <iostream>

#include <stdio.h>

 

using namespace std;

 

potong(int pem,float diskon, float jumhar)

{

return (jumhar=pem-diskon);

}

garis()

{

cout<<“====================================\n”;

}

 

main()

{

int pem;

float diskon,jumhar;

cout<<“Progam hitung potongan\n”;

garis();

cout<<“Masukan Pembelian Barang Rp “;cin>>pem;

if (pem>=1000000 && pem<=5000000)

diskon=0.2*pem;

else if (pem>500000)

diskon=0.35*pem;

else if  (pem<1000000)

diskon=0;

cout<<“Besar Diskon yang diberikan Rp “<<diskon<<endl;

cout<<“Besar harga yang harus dibayarkan Rp”<<potong(pem,diskon,jumhar);

getch();

}

outputnya :

www.png

2.program menghitung jumlah pembayaran

Source codenya :

#include<conio.h>

#include<stdio.h>

#include<iostream>

 

using namespace std;

 

main()

{

char nama[35], kodeBuku, *Jbuku;

int Bpinjam, Tsewa, jumBar;

 

cout<<“Perpustakaan \”.Kecil-Kecilan\”.”<<endl;

cout<<“———————–“<<endl;

cout<<“Nama Penyewa Buku : “;gets(nama);

ulang:

cout<<“Kode Buku[C/K/N]  : “;cin>>kodeBuku;

 

if(kodeBuku == ‘C’ || kodeBuku == ‘c’)

{

Jbuku = “CerPen (Kumpulan Cerita Pendek)”;

Tsewa = 500;

}

else if(kodeBuku == ‘K’ || kodeBuku == ‘k’)

{

Jbuku = “Komik”;

Tsewa = 700;

}

else if(kodeBuku == ‘N’ || kodeBuku == ‘n’)

{

Jbuku = “Novel”;

Tsewa = 1000;

}else{

cout<<“Kode Buku Salah, Mohon Ulangi Lagi”<<endl;

goto ulang;

}

cout<<“Banyak Pinjam\t: “;cin>>Bpinjam;

 

 

jumBar = Tsewa * Bpinjam;

 

cout<<“Tarif Sewa Rp\t\t\t\t”<<Tsewa<<endl;

cout<<“Jenis Buku \t\t\t\t”<<Jbuku<<endl;

cout<<“Penyewa dengan Nama\t\t\t”<<nama<<endl;

cout<<“Jumlah Bayar Penyewaan Sebesar Rp\t”<<jumBar;

 

getch();

 

 

}

outputnya :

ddd.png