Model SLDC (Systems Development Life Cycle) Synchronize & Stabilize dan Extreme Programming (Agile)

1. MODEL SYNCHRONIZE AND STABILIZE

Model ini adalah model yang digunakan oleh Microsoft.  Secara garis besar, Model Synchronize and Stabilize ini sama dengan model incremental, tetapi oleh CUsamano dan Selby tahun 1997 menyebutnya sebagai model Syncronize and Stabilized Model karena ada beberapa proses manajemen yang ditekannya oleh microsoft.

Model Synchronize and Stabilize merupakan sebuah pendekatan menyeluruh untuk mengembangkan dan mengelola sistem perangkat lunak skala besar.

Keuntungan Model Synchronize and Stabilize:
-Pendekatan pembangunan sistem periodik membuka jalan untuk menguji perangkat lunak untuk kedua fungsionalitas dan kinerja.
– Pemantauan proyek akan mudah karena ada tonggak menengah.
– Masalah integrasi yang dihadapi dalam proyek-proyek besar menggunakan model lainnya dieliminasi dalam model ini.
– Karena rilis menengah, produk dapat dibuat kaya fitur dengan memasukkan umpan balik yang diperlukan.

Model Synchronize and Stabilize adalah metodologi Pengembangan Sistem Life Cycle di mana tim bekerja secara bersamaan pada modul aplikasi individu. Mereka sering melakukan sinkronisasi kode mereka dengan tim lain, dan debug atau “menstabilkan” kode mereka secara teratur sepanjang proses pembangunan. Fitur khusus dari model ini adalah bahwa spesifikasi lengkap hanya ketika produk siap. Model ini telah digunakan secara luas oleh banyak organisasi pengembangan produk yang inovatif.

 Kekurangan Model Synchronize and Stabilize:
– Sebuah tim pengujian independen paralel perlu berada di tempat.
– Dokumen spesifikasi rinci akan tersedia hanya pada saat rilis.
– Sistem Periodik membangun meminta proses ketat untuk didefinisikan untuk integrasi berbagai modul.

Pada akhirnya, setiap hari dilakukan proses sinkronisasi, yaitu menggabungkan bagian-bagian yang terpisah tersebut kemudian ditesting. Proses stabilisasi dilakukan pada akhir pembangunan setiap bagian. Kesalahan yang terjadi akan diperbaiki, dan tidak akan ada perubahan spesifikasi.

Proses tim Synchronize-and-Stabilize dapat dirangkum sebagai berikut:

  • Berorientasi kepada fitur
  • Synchronize (pengembangan harian) and Stabilize (perbaikan kesalahan di setiap milestone)
  • Product Managers mengembangkan vision statement dan fitur yang sesuai dengan keinginan customer.
  • Program Managers mengembangkan fungsional spesifikasi berdasarkan vision statement.
  • Program Managers membuat jadwal dan tim fitur paralel antara 3-8 pengembang dan penguji berdasarkan fungsional spesifikasi.
  • Anggota tim dapat bekerja secara mandiri, sehingga dapat menghasilkan kreativitas dan kebebasan di dalam sebuah project.
  • Fase perencanaan (3-12 bulan, tergantung besarnya suatu project)
    • vision statement
    • specification
    • schedule and feature team formation
  • Fase Pengembangan (6-12 bulan)
    • subproject I: krusial 1/3 fitur, milestone release I
    • subproject II: 1/3 fitur, milestone release II
    • subproject III: final 1/3 fitur, milestone release III — code complete
  • Fase Stabilization (3-8 bulan)
  • Internal testing
  • External testing di bagian “beta tester”
  • Siap untuk diluncurkan, dimana terdapat “golden master” dan dokumentasi.

2. Metode Extreme Programming

Extreme Programming (XP) merupakan suatu pendekatan yang paling banyak dipakai untuk pengembangan perangkat lunak cepat. Alasan memakai metode  Extreme Programming (XP) lantaran sifat dari aplikasi yang di kembangkan dengan cepat melalui tahapan-tahapan yang ada mencakup : Planning/Perencanaan, Design/Perancangan, Coding/Pengkodean dan Testing/Pengujian. (Pressman, 2012:88). Adapun  tahapan pada Extreme Programming sanggup di jelaskan sebagai berikut:

1)  Planning/Perencanaan

Pada tahap perencanaan ini dimulai dari pengumpulan kebutuhan yang membantu tim teknikal untuk memahami konteks bisnis dari sebuah aplikasi. Selain itu pada tahap ini juga mendefinisikan output yang akan dihasilkan, fitur yang dimiliki oleh aplikasi dan fungsi dari aplikasi yang dikembangkan.
2) Design/Perancangan
Metode ini menekankan desain aplikasi yang sederhana, untuk mendesain aplikasi sanggup memakai Class-Responsibility-Collaborator (CRC) cards yang mengidentifikasi dan mengatur class pada object-oriented.
3) Coding/Pengkodean
Konsep utama dari tahapan pengkodean pada extreme programming ialah pair programming, melibatkan lebih dari satu orang untuk menyusun kode.
4)Pengujian
Pada tahapan ini lebih fokus pada pengujian fitur dan fungsionalitas dari aplikasi.
Extreme Programming sempurna untuk dipergunakan untuk pembuatan acara yang:

  • Membutuhkan perubahan yang cepat (misalnya: Game Mobile)
  • Proyek beresiko tinggi dengan tantangan yang berat
  • Tim programmer sedikit, yaitu sekitar 2–10 orang
  • Adanya usul dari pelanggan secara langsung

Keuntungan Extreme Programming

  • Meningkatkan kepuasan kepada klien
  • Pembangunan system dibentuk lebih cepat
  • Menjalin komunikasi yang baik dengan client.
  • Meningkatkan komunikasi dan sifat saling menghargai antar developer.

Kekurangan Extreme Programming

  • Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
  • XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

Referensi:

http://dwiwijaya97.blogspot.com/2017/02/metode-synchronize-stabilize.html

https://catatansaleh.blogspot.com/2013/07/8-macam-model-metode-sdlc-system.html

Advertisements

ETIKA BERINTERNET DAN REVOLUSI INDUSTRI 4.0

CONTOH ETIKET DAN PELANGGARAN BERINTERNET

A.   BERKIRIM SURAT MELALUI EMAIL

  1. Spamming adalah pengiriman e-mail berisi promosi tanpa persetujuan pemilik e-mail atau pengiriman email kepada orang-orang yang tidak secara khusus memintanya. Spamming merupakan pelanggaran serius dalam etika berinternet. Alamat e-mail biasanya diperoleh dengan cara harvesting atau menyalin alamat e-mail dari milis atau publikasi lainnya, baik secara manual maupun dengan bantuan program tertentu. Namun, perlu dibedakan dengan e-mail promosi yang memang diminta oleh seseorang yang melakukan permintaan informasi lebih lengkap pada suatu website. Karena berdasarkan permintaannya, maka e-mail yang dikirim tersebut tidak bisa dikategorikan sebagai spam. Selain dikirim ke alamat e-mail pribadi tanpa persetujuan dari pemiliknya, biasanya spam e-mail dikirim ke sembarang alamat tanpa persetujuan moderator.
  2. Cyber Stalking yaitu tindakan menjelek-jelekkan seseorang dengan menggunakan identitas seseorang yang telah dicuri sehingga menimbulkan kesan buruk terhadap orang tersebut. Dengan mengetahui identitas, orang tersebut akan difitnah dan hancurlah nama baiknya. Contoh dari kejahatan ini adalah penggunaan password e-mail kemudian mengirimkan e-mail fitnah kepada orang lain.
  3. Email bom adalah suatu cara untuk membuat server menjadi down, hal ini tentu saja berada di luar etika karena dengan downnya server, kita bisa dengan mudah mengacak-acak dan mengetahui informasi yang seharusnya tidak kita ketahui. Email bom ini dilakukan dengan cara mengirimkan suatu email secara serempak dan dalam jumlah dan isi yang sama. Email bom ini menggunakan kode-kode program yang menggunakan statement looping/perulangan sehingga email yang seharusnya dikirim sekali, menjadi dikirim berkali-kali sehingga mengakibatkan downnya server tersebut.
  4. Penyebaran virus melalui attach files sudah mulai berkurang karena adanya fasilitas scanning virus melalui attach file. Tapi ini bisa saja terjadi karena tidak semua antivirus bisa mendeteksi jutaan virus yang sudah beredar ini. Hal ini tentu saja melanggar etika karena telah menyebarkan virus melalui media email.

B. BERBICARA DALAM CHATTING

  1. SARA dalam Chat di room merupakan hal yang harus di hindari, SARA ini dapat menyebabkan perkelahian sampai pada pertumpahan darah. Tidak dapat di pungkiri lagi bahwa SARA ini merupakan pelanggaran dalam berinternet, pada kasus kali ini kita melakukan suatu tindakan/perkataan yang mengundang SARA di suatu room chatting. Tentu saja banyak para user-user di room tersebut yang terpancing emosinya atau merasa terganggu. Oleh karena itu, hal-hal yang berbau SARA harus kita hindari dalam berinternet ini.
  2. Menyebarkan materi dan bahasa yang bersifat pornografi, vulgar dan tidak etis sudah tidak perlu di perjelas lagi, karena dari namanya saja sudah melanggar norma-norma yang ada di negara Indonesia. Karena dalam semua agama yang ada, hal-hal yang behubungan dengan materi yang bersifat pornografi bebas pasti di tentang, tentu saja sudah melanggar norma agama. Pada hal ini, semua pembicaraan berhubungan dengan vulgar dan tidak etis. Merusak nama baik, mengancam, melecehkan atau menghina orang lain.

C. MENGGUNAKAN MEDIA SOSIAL

  1. Privacy violation atau lebih dikenal dengan menyebarkan privasi orang lain kepada publik tanpa diketahui oleh pemiliknya. Misalnya, penyebaran foto-foto pribadi, video pribadi, merekam kehidupan seseorang tanpa seizin yang bersangkutan, dan hal-hal privasi lainnya.
  2. Pembajakan merupakan kegiatan merebut atau merampas suatu barang yang bukan haknya. Pembajakan dalam dunia maya seperti pembajakan hak cipta pada film atau lagu, pembajakan kata-kata, pembajakan akun media sosial, dan lain sebagainya. Pelanggaran etika pembajakan akun khususnya akun media sosial ini bertujuan untuk mencuri identitas pemilik akun yang kemudian disalahgunakan demi kepentingan pribadi.
  3. Mengunggah foto-foto yang tidak pantas ke media sosial dengan tujuan untuk dikonsumsi oleh publik. Foto-foto yang tidak pantas berupa foto yang berhubungan dengan pornografi, foto yang tidak manusiawi seperti mengunggah foto korban kecelakaan bom, kecelakaan kendaraan, korban perang, dan lain sebagainya.
  4. Menyebarkan Berita Kebencian. Kasus yang akhir-akhir ini sering ditemui adalah berita yang mengandung unsur-unsur kebencian terutama dalam kehidupan beragama di media sosial. Menyebarkan berita kebencian ini berkaitan dengan pemberitaan hoax yang sebenarnya hanya sebagai opini si penulis berita saja dan berisi pesan provokasi. Menyebarkan informasi yang mengandung kebencian ini merupakan pelanggaran etika dalam media sosial yang tertuai pada UU ITE No. 11 Tahun 2008 tentang informasi dan transaksi elektronik, Pasal 28 ayat 2 yang berbunyi: “Setiap orang dengan sengaja dan tanpa hak menyebarkan informasi yang ditujukan untuk menimbulkan rasa kebencian atau permusuhan individu dan/atau kelompok masyarakat tertentu berdasarkan atas suku, agama, ras, dan antargolongan (SARA).” 
  5. Penipuan Online. Media sosial tidak hanya digunakan untuk sekedar chatting dengan teman yang kita kenal. Media sosial saat ini sering dijadikan sebagai sarana penjualan secara online oleh orang-orang yang merintis karirnya di dunia usaha. Pemasaran produk dilakukan dengan menggunakan media sosial untuk menjangkau khalayak luas. Media sosial dianggap dapat membuka peluang besar dalam tingkat penjualan produk. Namun ada pula penjual yang melanggar aturan baik dari segi penjualan maupun melanggar etika dalam media sosial seperti menipu konsumen dengan iming-iming produk yang berkualitas, tetapi tidak sesuai dengan realitas.
  6. Pencemaran Nama Baik. Pelanggaran etika selanjutnya adalah pencemaran nama baik. Contoh pelanggaran ini sering dijumpai dalam media sosial karena banyak pengguna media sosial yang tidak dapat mengontrol emosinya. Orang yang tidak dapat mengontrol emosi biasanya akan meluapkannya dalam tulisan-tulisan dan terkadang menulis nama orang yang tidak disukai tersebut di status media sosial yang kemudian diunggah dan dikonsumsi oleh publik.

BAGAIMANA CARA MENGHADAPI REVOLUSI INDUSTRI 4.0

Untuk menghadapi revolusi industri 4.0, ada beberapa keahlian yang dibutuhkan agar dapat sukses dalam menghadapi dinamika dunia kerja yang terus berubah. Terdapat 4 keahlian utama yang dibutuhkan untuk menghadapi industri 4.0

  1. Kita harus memiliki keterampilan informasi, media, dan teknologi. Dengan istilah lain, kita harus melek teknologi. Yang dimaksud dengan keterampilan informasi, media, dan teknologi meliputi literasi media, keaksaraan visual, literasi multikultural, kesadaran global, dan literasi teknologi.
  2. Keterampilan belajar dan berinovasi yang meliputi kreativitas dan keingintahuan, pemecah masalah (problem solving), dan pengambil resiko.
  3. Terampil dalam hidup dan belajar seperti memiliki jiwa kepemimpinan dan bertanggung jawab, memiliki nilai etis dan moral, produktivitas dan akuntabilitas, fleksibilitas dan adaptasi, sosial dan lintas budaya, inisiatif dan mengarahkan diri.
  4. Memiliki kemampuan dalam berkomunikasi yang efektif seperti mampu bekerja dalam tim dan berkolaborasi, memiliki tanggung jawab pribadi dan sosial, dalam berkomunikasi harus interaktif, memiliki orientasi nasional dan global.

REFERENSI

Tentang Interaksi Manusia dan Komputer (IMK)

 DEFINISI INTERAKSI MANUSIA DAN KOMPUTER (IMK)

Interaksi manusia dan komputer(Imk) merupakan disiplin ilmu yang mempelajari mengenai suatu hubungan diantara manusia dan komputer yang diantaranya itu meliputi perancangan, evaluasi, serta implementasi antarmuka pengguna komputer supaya dapat mudah digunakan oleh manusia. Sedangkan interaksi manusia dan komputer itu juga merupakan serangkaian proses, dialog serta kegiatan(aktivitas) yang dilakukan oleh manusia untuk dapat berinteraksi dengan komputer dengan secara interaktif untuk dapat melaksanakan serta menyelesaikan tugas yang diinginkan.

interaksi manusia dan komputer(IMK) merupakan suatu ilmu yang sangat berkaitan sekali dengan desain implementasi serta evaluasi dari suatu sistem komputasi yang interaktif untuk dapat digunakan oleh manusia serta studi mengenai ruang lingkupnya interaksi manusia dan komputer ,ada interaksi diantara satu maupun lebih manusia dan satu maupun lebih komputasi mesin.

Interaksi manusia serta komputer merupakan sebuah hubungan diantara manusia dan komputer yang memiliki karakteristik tertentu untuk dapat mencapai suatu tujuan tertentu dengan cara menjalankan sebuah sistem yang bertopengkan sebuah antarmuka (interface).

Tujuan utama IMK adalah sebagai berikut :

1.  Membuat sistem yang lebih:

  • Berguna (usable)
  • Aman
  • Produktif
  • Efektif
  • Efisien
  • Fungsional

2.  Meningkatkan interaksi antara manusia dengan sistem komputer

Sistem yang bermanfaat (usable) serta aman (safe), artinya ialah sistem itu bisa berfungsi dengan baik. Sistem itu bisa untuk dapat mengembangkan serta meningkatkan 

  • keamanan (safety), 
  • utilitas (utility), 
  • ketergunaan (usability), 
  • efektifitas (efectiveness) 
  • efisiensinya (eficiency). 

Manfaat Interaksi Manusia dan Komputer

  • Useful (berguna) – artinya dapat menyelesaikan apa yang dibutuhkan.
  • Useable (dapat digunakan) – artinya dapat digunakan dan dioperasikan dengan mudah dan alamiah,tanpa bahaya kesalahan.
  • Used (digunakan) – artinya dapat membuat orang yang meggunakan merasa tertarik.
  • Usability – artinya membuat kriteria berkualitas suatu perangkat lunak seperti fungsionalitas, kehandalan, efisiensi, kemudahan pemeliharaan dan protabilitas.

Penerapan IMK dalam bidang pendidikan

  • Mahasiswa yang melakukan interaksi input KRS (Kartu Rencana Studi) melalui Sistem Informasi Manajemen akademik.
    • Mahasiswa dan dosen yang melakukan kegiatan belajar mengajar dikelas dengan menggunakan laptop dan infocus sebagai media komunikasi. 

# SEJARAH INTERAKSI MANUSIA DAN KOMPUTER (IMK)

Komputer digital dibangun dari tahun 1700-an dan 1800’an. Akan tetapi baru menjadi sebuah teknologi pada tahun 1940-an dan 1950-an. Berikut ini perkembangan interaksi manusia dan komputer :

–> Tahun 50an – Antarmuka pada level hardware untuk teknik (ex. switch panel)
Di tahun ini, mesin ini sangat sulit dipakai dan tidak praktis. Disebabkan karena komputer merupakan mesin yang sangat mahal dan besar, hanya dipakai di kalangan tertentu, misalnya para ilmuwan /ahli-ahli teknik.

–> Tahun 60-70an – Antarmuka pada level pemrograman (ex. COBOL, FORTRAN)
Dengan perkembangan penggunaan teknologi ini secara cepat dan mengagumkan ke berbagai penjuru kehidupan (pendidikan, perdagangan, pertahanan, perusahaan, dan sebagainya). Kemajuan-kemajuan teknologi tersebut mempengaruhi juga rancangan sistem. Sistem rancangan dituntut harus bisa memenuhi kebutuhan pemakai, sistem harus mempunyai kecocokan dengan kebutuhan pemakai atau suatu sistem yang dirancang harus berorientasi kepada pemakai. Pada awal tahun 70-an ini, juga mulai muncul isu teknik antarmuka pemakai (user interface) yang diketahui sebagai Man-Machine Interaction (MMI) atau Interaksi Manusia-Mesin.

–> Tahun 70-90an – Antarmuka pada level instruksi
Para peneliti akademis mengatakan suatu rancangan sistem yang berorientasi kepada pemakai, yang memperhatikan kapabilitas dan kelemahan pemakai ataupun sistem (komputer) akan memberi kontribusi kepada interaksi manusia-komputer yang lebih baik. Maka pada pertengahan tahun 80-an diperkenalkan istilah Human-Computer Interaction (HCI) atau Interaksi Manusia-Komputer.

–> Tahun 80an – Antarmuka pada level dialog interaksi (ex. GUI, Multimedia)
–> Tahun 90an – Antarmuka pada level lingkungan kerja (ex. Sistem Network, Groupware)
–> Tahun 00an – Antarmuka berkembang dengan luas (ex. mobile device, interactive screen )

Referensi:

KLASIFIKASI SISTEM INFORMASI

Sistem Informasi Menurut Struktur Organisasi :

  • Sistem Informasi Departemen, yaitu sistem informasi yang hanya digunakan dalam sebuah departemen.
  • Sistem Informasi Perusahaan, yaitu sistem terpadu yang dapat digunakan oleh sejumlah departemen secara bersama-sama.

Hasil gambar untuk Sistem Informasi Perusahaan

  • Sistem Informasi Antar Organisasi, yaitu sistem informasi yang menghubungkan dua organisasi atau lebih.

Hasil gambar untuk Sistem Informasi Antar Organisasi

Sistem Informasi Menurut Fungsi :

  • Sistem Informasi Akuntansi, sistem informasi yang menyediakan informasi yang dipakai oleh fungsi Akuntansi. Sistem ini mencakup semua transaksi yang berhubungan dengan keuangan dalam perusahaan.

  • Sistem Informasi Keuangan, sistem informasi yang menyediakan informasi pada fungsi keuangan yang menyangkut keuangan perusahaan. Sistem Informasi Keuangan digunakan untuk mendukung manajer keuangan dalam mengambil keputusan yang menyangkut keuangan perusahaan dan pengalokasian serta pengendalian sumber daya keuangan dalam perusahaan.

  •  Sistem Informasi Manufaktur, sistem informasi yang bekerja sama dengan sistem informasi lain untuk mendukung manajemen perusahaan dalam menyelesaikan masalah yang berhubungan dengan produk atau jasa yang dihasilkan perusahaan. Sistem ini digunakan untuk mendukung fungsi produksi yang meliputi seluruh kegiatan yang terkait dengan perencanaan dan pengendalian proses untuk memproduksi barang atau jasa.

  • Sistem Informasi Pemasaran, sistem informasi yang menyediakan informasi yang dipakai oleh fungsi pemasaran.  Sistem Informasi Pemasaran adalah sistem informasi yang menyediakan informasi yang dipakai oleh fungsi pemasaran.

  • Sistem Informasi SDM, sistem informasi yang menyediakan informasi yang dipakai oleh personalia.

Hasil gambar untuk Sistem Informasi SDM

Hasil gambar untuk Sistem Informasi SDM

Referensi:

http://kymar276.blogspot.com/2013/04/klasifikasi-sistem-informasi.html

https://slideplayer.info/slide/12491119/

https://slideplayer.info/slide/2025653/

STUDI KASUS

Tugas Studi Kasus Mengembangkan Program Penjualan Pulsa

141

Hasil Program:

142

Source Code:

#include <iostream>

#include<stdio.h>

#include<conio.h>

#include<windows.h>

#include<iomanip>

#include<string.h>

#include<stdlib.h>

#define jalan() main()

#define masuk cin

#define cetak cout

#define tahan() getch()

 

using namespace std;

 

jalan()

{

 

int i, pilihan, transaksi;

char inputlagi;

int *ptrjual;

long int totalharga;

 

cetak << ”          PENJUALAN PULSA”<<endl;

cetak<<“******************************************”<<endl;

cetak<<“******************************************”<<endl;

cetak<<”  Selamat Datang dipenjualan pulsa kami”<<endl;

cetak<<“******************************************”<<endl;

cetak<<endl;

 

awal:

cetak<<“Pilihan menu:”<<endl;

cetak<<“1. Pulsa Elektrik (HP)”<<endl;

cetak<<“2. Pulsa Token (Listrik) “<<endl;

cetak<<“3. Keluar”<<endl;

cetak<<“======================================”<<endl;

cetak<<“Inputkan pilihan anda(1/2/3) : “;masuk>>pilihan;

cetak<<endl;

 

Source Code lanjutan:

struct

{

string nomor;

int saldo, kembalian;

long int harga, bayar;

}datajual[50];

if (pilihan==1)

{

pertama:

cetak<<“1. PULSA ELEKTRIK (HP)”<<endl;

cetak<<“Masukkan jumlah transaksi : “; masuk>>transaksi;

for(int i=1; i<=transaksi; i++)

{

cetak<<“Masukkan nomor telepon           : “; masuk>>datajual[i].nomor;

cetak<<“Masukkan saldo(5,10,20,25,50,100): “; masuk>>datajual[i].saldo;

if (datajual[i].saldo==5)

{

datajual[i].harga=7000;

}

else if (datajual[i].saldo==10)

{

datajual[i].harga=12000;

}

else if (datajual[i].saldo==20)

{

datajual[i].harga=22000;

}

else if (datajual[i].saldo==25)

{

datajual[i].harga=27000;

}

else if (datajual[i].saldo==50)

{

datajual[i].harga=52000;

}

else

datajual[i].harga=102000;

cetak<<“Harga                            : “<<datajual[i].harga<<endl;

cetak<<endl;

}

goto total;

}

 

Source Code Lanjutan2:

else if(pilihan==2)

{

kedua:

cetak<<“2. PULSA TOKEN (LISTRIK)”<<endl;

cetak<<“Masukkan jumlah transaksi : “; masuk>>transaksi;

for(int i=1; i<=transaksi; i++)

{

cetak<<“Masukkan nomor token     : “; masuk>>datajual[i].nomor;

cetak<<“Masukkan saldo(20,50,100): “; masuk>>datajual[i].saldo;

if (datajual[i].saldo==20)

{

datajual[i].harga=23000;

}

else if (datajual[i].saldo==50)

{

datajual[i].harga=53000;

}

else

datajual[i].harga=103000;

cetak<<“Harga                    : “<<datajual[i].harga<<endl;

cetak<<endl;

}

goto total;

}

else if(pilihan==3)

{

exit(0);

}

cout<<endl;

total:

for(int i=1; i<=transaksi; i++)

{

totalharga=datajual[i].harga+datajual[++i].harga;

cetak<<“Total       : RP.”<<totalharga<<endl;

cetak<<“Uang Bayar  : RP.”; masuk>>datajual[i].bayar;

 

datajual[i].kembalian = datajual[i].bayar – totalharga;

cetak<<“————————“<<endl;

cetak<<“Uang Kembali: RP.”<<datajual[i].kembalian<<endl;

cetak<<endl;

 

}

 

Source Code Lanjutan 3:

cetak<<“Ingin transaksi lagi[Y/T] ? “; masuk>>inputlagi;

cetak<<endl;

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

if(pilihan==1)

{

goto pertama;

}

else

goto kedua;

else

 

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

{

cetak<<“Elemen “<<i<<“. Nilai “<<datajual[i].nomor;

cetak<<“, Menempati Alamat Memori = “;

cetak<<&ptrjual[i]<<endl;

}

cetak<<endl;

goto awal;

 

tahan();

return 0;

}

 

 

OOP

Pengertian OOP

OOP adalah sebuah metodologi atau cara berpikir dalam melakukan pemrograman dimana pendefinisian tipe data disertai dengan pendefinisian fungsi. Struktur data yang seperti ini disebut dengan istilah object. Paradigma pemrograman OOP dapat dilihat sebagai interaksi sebuah object dalam melakukan tugasnya.

Segelas teh tentunya memiliki berbagai spesifikasi seperti volume air, rasa, temperatur dan sebagainya. Pada pemrograman, spesifikasi-spesifikasi tersebut merupakan variabel yang dideklarasikan beserta tipe data. Pada OOP, sebuah object Teh juga memiliki method berupa fungsi yang dapat dipanggil untuk merubah kelakuan atau spesifikasi teh tersebut. Method minumTeh dapat dideklarasikan sebagai fungsi yang dapat dipanggil untuk mengurangi nilai variabel Volume.

Di samping itu, sebuah object dapat memiliki relasi terhadap object lainnya. Sebagai contoh, sebuah object dapat berupa keturunan dari object lain.

Istilah-istilah pada OOP antara lain :

  1. Kelas (Class)

Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog‘ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

  1. Objek (Object)

Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objekmerupakan dasar dari modularitas dalam sebuah program komputer berorientasi objek.

  1. Metode (Method)

Method adalah merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.

Contoh:

Pada object mangga : terdapat method ambilRasa , kupasKulit dan lain-lain.

Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya. Metode memiliki 4 (empat) bagian dasar :

  1. Nama metode
  2. Tipe Objek atau tipe primitive yang dikembalikan metode.
  3. Daftar parameter.
  4. Badan atau isi metode.

Tiga bagian pertama mengindikasikan informasi penting tentang metode itu sendiri. Dengan kata lain, nama metode tersebut=metode lain dalam program. Dalam java kita dapat memiliki metode-metode berbeda yang memiliki nama sama tetapi berbeda tipe kembalian atau daftar argumennya, sehingga bagian-bagian definisi metode ini menjadi penting. Ini disebut overloading metode.

  1. Abtraksi (Abstraction)

Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

  1. Enkapsulasi (Encapsulation)

Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

  1. Polimorfisme (Polymorphism)

Melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

  1. Inheritas (inheritance)

Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis objek tidak selalu memiliki inheritas.)

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

STRUCTUR

Pengertian Struktur

Struktur pada C++ adalah koleksi variabel dibawah sebuah nama, Variabel-variabel ini dapat berbentuk berbagai type, misalnya: int, float, char dan lain-lain. Perbedaan utama antara struktur dan array adalah bahwa dalam array memiliki tipe data yang sma, sedangkan struktueadalah sebuah koleksi dari variabel-variabel dibawah nama yang sma, dimana setiap elemen dapat saja memiliki tipe yang berbeda. Struktur dalam C++ dideklarasikan menggunakan keyword struct diikuti dengan nama struktur, atau sering disebut dengan tag. Variabel-variabel strukur dideklarasikan dalam kurung kurawal { }, setiap elemennya dipisahkan dengan tanda titik koma atau semi colon. Bentuk umum/sintaks deklarasi struktur :

struct nama_struct

{
anggota_struktur ;

} ;

Contoh pendeklarasian struktur untuk data tanggal yang terdiri dari 3 variabel, yaitu: tahun, bulan, dan tanggal yang kebetulan memiliki tipe sama.

1

2

3

4

5

6

. struct data_tanggal

. {

. int tahun;

. int bulan;

. int tanggal;

. };

   

Latihan 1 Membuat program penggunaan struktur 1

Hail Source code:

131

Source code:

#include <iostream>

#include<stdio.h>

#include<conio.h>

using namespace std;

 

int main()

{

struct

{

char nim[20];

char nama[15];

int nilai;

} mahasiswa;

 

cout<<“Masukkan NIM = “; cin>>mahasiswa.nim;

cout<<“Masukkan Nama = “; cin>>mahasiswa.nama;

cout<<“Masukkan Nilai Akhir = “; cin>>mahasiswa.nilai;

cout<<“\n\nData yang diinputkan adalah : \n\n”;

cout<<“NIM = “<<mahasiswa.nim<<endl;

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

cout<<“Nilai Akhir = “<<mahasiswa.nilai<<endl;

getch();

return 0;

}

 

Latihan 2 Membuat program penggunaan struktur 2

HASIL PROGRAM:

122

Source code:

#include <iostream>

#include<stdio.h>

#include<conio.h>

 

using namespace std;

 

int main()

{

struct data

{

char nim[20], nama[15];

int nilai;

};

data mahasiswa;

cout<<“Masukkan NIM : “;cin>>mahasiswa.nim;

cout<<“Masukkan Nama = “; cin>>mahasiswa.nama;

cout<<“Masukkan Nilai Akhir = “; cin>>mahasiswa.nilai;

cout<<“\n\nData yang diinputkan adalah : “<<endl<<endl;

 

cout<<“NIM = “<<mahasiswa.nim<<endl;

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

cout<<“Nilai Akhir = “<<mahasiswa.nilai<<endl;

getch();

return 0;

}

 

Latihan 3 Membuat program penggunaan struktur pada function

HASIL PROGRAM:

123

Source code:

#include <iostream>

#include<stdio.h>

#include<conio.h>

using namespace std;

char ket(float n);

int main()

{

int i;

struct

{

char nim[20];

char nama[15];

float nilai;

} mhs[5];

 

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

{

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

cout<<“Masukkan NIM = “; cin>>mhs[i].nim;

cout<<“Masukkan Nama = “; cin>>mhs[i].nama;

cout<<“Masukkan Nilai Akhir = “; cin>>mhs[i].nilai;

cout<<endl;

}

//clrscr();

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

{

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

cout<<“Masukkan NIM = “<<mhs[i].nim<<endl;

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

cout<<“Masukkan 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’;

}

 

 

Tugas 1 Membuat Program Menghitung Nilai

HASIL PROGRAM:

12t

Source Code:

#include <stdio.h>

#include <windows.h>

#include <iostream>

#include <iomanip>

#include <cstdio>

#include <conio.h>

using namespace std;

char huruf(float n);

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;

struct

{

char nama[20],lagi;

int uas,uts;

float nilaiakhir,ket;

}mahasiswa[5];

 

atas:

system(“cls”);

cout<<“Masukan Jumlah Mahasiswa : “;cin>>menu;

cout<<endl;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

{

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

cout<<” Nama Mahasiswa : “;cin>>mahasiswa[i].nama;

cout<<” Nilai UTS : “;cin>>mahasiswa[i].uts;

cout<<” Nilai UAS : “;cin>>mahasiswa[i].uas;

cout<<endl;

}

system(“cls”);

cout<<endl;

cout<<endl;

cout<<” Daftar Nilai Mata Kuliah C++”<<endl;

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

cout<<” No. Nama Mahasiswa Nilai Nilai Akhir Nilai Huruf”<<endl;

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

cout<<” UTS UAS “<<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<<mahasiswa[i].nama;

gotoxy(25,i+7); cout<<mahasiswa[i].uts;

gotoxy(38,i+7); cout<<mahasiswa[i].uas;

mahasiswa[i].nilaiakhir=(mahasiswa[i].uts*60/100)+(mahasiswa[i].uas*40/100);

gotoxy(48,i+7); cout<<mahasiswa[i].nilaiakhir;

gotoxy(64,i+7); cout<<huruf(mahasiswa[i].nilaiakhir)<<endl;

}

cout<<endl;

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

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

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

goto atas;

else

system(“cls”);

 

getch();

}

char huruf (float nilaiakhir)

{

if (nilaiakhir>=80)

return ‘A’;

else if (nilaiakhir>=70)

return ‘B’;

else if (nilaiakhir>=56)

return ‘C’;

else if (nilaiakhir>=47)

return ‘D’;

else if (nilaiakhir<47)

return ‘E’;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FUNCTION

Pengertian Fungsi

Fungsi / Function adalah satu blok kode yang melakukan tugas tertentu atau satu blok instruksi yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program.

Tujuan pembuatan fungsi adalah :

  1. Memudahkan dalam pembuatan program.
  2. Menghemat ukuran program.

Keuntungan memakai fungsi :

  1. Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
  2. Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
  3. Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
  4. Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek
  5. Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat
  6. Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.

 

Bentuk umum Sebuah fungsi adalah sebagai berikut :

Tipedata nama_fungsi(daftarparameter)

{

/*Badan Fungsi*/

return nilaireturn; /* untuk tipe data bukan void */

}
Jenis-jenis fungsi pada C++:

  1. Void ( Fungi tanpa nilai balik )

Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:

  1. Tidak adanya keyword return.
  2. Tidak adanya tipe data di dalam deklarasi fungsi.
  3. Menggunakan keyword void.
  4. Tidak dapat langsung ditampilkan hasilnya.
  5. Tidak memiliki nilai kembalian fungsi

Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.

Void : void tampilkan_jml (int a, int b)

{
int jml;

jml = a + b;

cout<
}

  1. Non Void (Fungsi dengan nilai balik)

Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut.

Ciri-ciri dari jenis fungsi non void adalah sebagai berikut:

  1. Ada keyword return
  2. Ada tipe data yang mengawali fungsi
  3. Tidak ada keyword void
  4. Memiliki nilai kembalian.
  5. Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya

Non-void : int jumlah (int a, int b)

Fungsi (Tanpa Nilai Balik, dengan Nilai Balik, Parameter).

Bahasa pemrograman C++ harus memiliki fungsi (funtion), minimal satu fungsi yaitu fungsi main(). Dalam C++, program merupakan kumpulan dari fungsi-fungsi, baik itu fungsi yang didefenisikan secara langsung dalam program maupun fungsi yang disimpan dalam suatu file header.
C++ mempunyai fungi utama yang disebut fungsi main ( ). Fungsi utama ini selalu ada dalam setiap program C++ dan compiler akan menjalankan program melalui perintah-perintah yang terdapat dalam fungsi ini.

Fungsi merupakan subprogram yang berguna untuk membuat program dapat menjadi medular sehingga akan lebih mudah dipahami dan dapat digunakan kembali, baik untuk program itu sendiri maupun untuk program lain yang memiliki proses yang sama.
Pada bahasa pemrograman C++, fungsi dibedakan menjadi dua, yaitu user-defined function dan built-in function. User-defined function adalah fungsi-fungsi yang didefenisikan sendiri, sedangkan built-in function adalah fungsi-fungsi siap pakai yang telah disediakan oleh compiler.
1. Tanpa Nilai Balik

Dalam pemrograman C++ bukanlah bahasa prosedural, karena prosedur tidak mempunyai nilai balik. Untuk melakukan hal ini di dalam C++, maka harus membuat suatu fungsi dengan tipe void, yang berarti tidak memiliki nilai balik (return value).

contoh:
void nama_fungsi (parameter)

{
Pernyataan_yang_akan_dilakukan;
……………
}
2. Dengan Nilai Balik

Berbeda dengan fungsi yang bertipe Void, fungsi dengan nilai balik berguna untuk melakukan suatu proses yang dapat mengembalikan sebuah nilai. Dalam fungsi ini harus didefenisikan tipe data dari nilai yang akan dikembalikan.

Sebagai contoh:

tipe_data nama_fungsi (parameter){

Pernyataan_yang_akan_dilakukan;
……………

return nilai_kembali;

}

  1. Parameter

Sekarang akan dibuat fungsi dengan parameter sehingga hasil yang diberikan dapat bersifat dinamis, tentu saja bergantung dari nilai parameter yang dimasukkan.
Parameter yang terdapat pada pendefenisian suatu fungsi disebut dengan parameter formal, sedangkan parameter yang terdapat pada saat pemanggilan disebut dengan parameter aktual.
Jumlah serta tipe data antara parameter formal dan parameter aktual haruslah sesuai, jika tidak maka compiler akan menampilkan pesan kesalahan.

Ada 3 jenis parameter yang dapat dilewatkan pada sebuah fungsi dalam bahasa pemrograman C++, yaitu:

  1. Parameter masukan
  2. Parameter keluaran
  3. Parameter gabungan antara masukan dan keluaran.

Parameter masukan digunakan sebagai nilai masukan dalam sebuah fungsi. Nilai tersebut kemudian akan diproses oleh fungsi untuk menghasilkan sebuah nilai kembalian (return value).

Latihan 1 Membuat program utama

HASIL PROGRAM:

1112

Source code:

#include <iostream>

#include <conio.h>

#include<iomanip>

 

using namespace std;

 

main()

{

int garis();

cout<<“— STMIK BINA INSANI —“<<endl;

int garis();

getche();

}

 

Latihan 2 Membuat program menggunakan prototype pada fungsi

HASIL PROGRAM:

112

Source code:

#include <iostream>

#include <conio.h>

#include<string.h>

 

using namespace std;

 

char coment(char ket[30], int n);

main()

{

char lagi, c[30];

int i;

 

atas:

//clrscr();

{

cout << “Masukkan nilai = “; cin>>i;

coment(c,i); //parameter formal

cout<<c;

cout<<“\n\n ingin input lagi ? [Y/T]:”; cin>>lagi;

}

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

goto atas;

else

getch();

}

 

//blok program fungsi dengan parameter aktual

char coment(char ket[30], int n)

{

int a;

a=n%2;

if(a==1)

strcpy(ket,”—Bilangan Ganjil—“);

else

strcpy(ket,”—Bilangan Genap—“);

}

 

 

Latihan 3 Membuat output penggunaan call by value

HASIL PROGRAM:

113

Source code:

#include <iostream>

#include <conio.h>

#include<string.h>

 

using namespace std;

 

char coment(char ket[30], int n);

main()

{

char lagi, c[30];

int i;

 

atas:

//clrscr();

{

cout << “Masukkan nilai = “; cin>>i;

coment(c,i); //parameter formal

cout<<c;

cout<<“\n\n ingin input lagi ? [Y/T]:”; cin>>lagi;

}

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

goto atas;

else

getch();

}

 

//blok program fungsi dengan parameter aktual

char coment(char ket[30], int n)

{

int a;

a=n%2;

if(a==1)

strcpy(ket,”—Bilangan Ganjil—“);

else

strcpy(ket,”—Bilangan Genap—“);

}

 

 

Latihan 4 Membuat output penggunaan call by reference

HASIL PROGRAM:

114

Source code:

#include <iostream>

#include <conio.h>

#include<stdio.h>

 

using namespace std;

 

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

main()

{

int a,b;

a=4;

b=6;

//clrcsr();

cout<<“Nilai sebelum fungsi digunakan”;

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

tambah (&a,&b);

cout<<endl;

cout<<“\n Nilai setelah pemanggilan fungsi”;

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

getch();

}

float tambah(int *c, int *d)

{

*c+=7;

*d+=5;

cout<<endl;

cout<<“\n\n Nilai diakhir fungsi tambah()”;

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

}

 

Latihan 5 Membuat output penggunaan fungsi

HASIL PROGRAM:

115

Source code:

#include <iostream>

#include <conio.h>

#include<stdio.h>

 

using namespace std;

float segitiga(float alas, float tinggi);

main()

{

float a,t,hasil;

cout<<“Masukkan nilai alas segitiga :”; cin>>a;

cout<<“Masukkan nilai tinggi segitiga :”; cin>>t;

hasil=segitiga(a,t);

printf(“\n Hasil luasnya : %4.0f”, hasil);

getch();

}

 

float segitiga(float alas, float tinggi)

{

return((alas*tinggi)/2);

}

 

Latihan 6 Membuat output penggunaan fungsi garis

HASIL PROGRAM:

111

Source Code:

#include <iostream>

#include <conio.h>

#include<stdio.h>

#include<string.h>

 

using namespace std;

float siswa (float uts, float uas);

garis() //fungsi garis

{

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

}

main()

{

char nim[10], nama[20], ket[10], lagi;

float a,b,rata;

garis();

cout<<“\n\t Perhitungan nilai siswa “<<endl;

cout<<“\t “;garis();

cout<<“\t Masukkan NIM :”; cin>>nim;

cout<<“\t Masukkan Nama :”; cin>>nama;

cout<<“\t Masukkan UTS :”; cin>>a;

cout<<“\t Masukkan UAS :”; cin>>b;

 

rata=siswa(a,b);

printf(“\n\t Nilai Rata-Rata : %3.2f”, rata);

if(rata>59)

strcpy(ket, “LULUS”);

else

strcpy(ket, “GAGAL”);

cout<<“\n\t Keterangan :”<<ket<<endl;

getch();

}

 

float siswa (float uts, float uas)

//siswa

{

return((uts+uas)/2);

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

POINTER DAN MACRO

Pengertian Pointer

Pointer merupakan sebuah variabel yg berisi alamat dari variabel lain.

Operator pointer terdapat dua macam operator pointer yang disediakan oleh Borland C++:

  1. Operator Deference(&)

Opertor ini disebut dengan “Address of” atau operator alamat. Dengan menggunakan operator deference(&) ini,suatu variabel akan menghasilakan alamat lokasi memori.

  1. Operantor Reference(*)

Operator ini biasa disebut operator “value pointed by”. Dengan menggunakan operator refrence(*) ini menghasilkan nilai yg berada pada pada suatu alamat memori.

Penggunaan Pointer

# Dapat digunakan untuk mendeklarasikan variabel bertipe data string tanpa harus dideklarasikan batasan karakternya.

#Dapat digunakan dalam penggunaan FUNGSI

Pengertian Macro

Preprocessor Directives

Merupakan suatu perintah yg trmasuk kedalam program,tetapi bukanlah intruksi dari program itu sendiri,tetapi untuk preprocessor.

Latihan 1 Membuat output penggunaan pointer deference

HASIL PROGRAM:

101

Source code:

#include <iostream>

#include<conio.h>

#include<stdio.h>

 

using namespace std;

 

int main()

{

int ilham,amir, *raka;

ilham=75;

amir=ilham;

raka=&ilham;

 

cout<<“Nilai Ilham = “<<ilham<<endl;

cout<<“Nilai Amir = “<<amir<<endl;

cout<<“Nilai Raka = “<<raka<<endl;

getch();

}

Latihan 2 Membuat output penggunaan pointer reference

HASIL PROGRAM:

102

Source Code:

#include <iostream>

#include<conio.h>

#include<stdio.h>

using namespace std;

 

int main()

{

int ilham, *raka, rafli;

ilham =75;

raka=&ilham;

rafli=*raka;

 

cout<<“Nilai Ilham = “<<ilham<<endl;

cout<<“Nilai Raka = “<<raka<<endl;

cout<<“Nilai rafli = “<<rafli<<endl;

getch();

}

 

Latihan 3 Membuat output penggunaan pointer to pointer

HASIL PROGRAM:

103

Source code:

#include <iostream>

#include<conio.h>

#include<stdio.h>

using namespace std;

 

int main()

{

int ilham;

int *raka;

int **amir;

ilham=75;

 

cout<<“Nilai Ilham = “<<ilham<<endl;

raka=&ilham;

amir=&raka;

 

cout<<“Nilai Raka hasil mengakses Ilham = “;

cout<<*raka<<endl;

 

cout<<“Nilai Amir hasil mengakses Ilham = “;

cout<<**amir<<endl;

getch();

}

Latihan 4 Membuat output penggunaan pointer pada array

HASIL PROGRAM:

104

Source code:

#include <iostream>

#include<conio.h>

#include<stdio.h>

 

using namespace std;

 

int main()

{

int i;

int nilai[5];

int *ptrnilai;

ptrnilai=nilai;

 

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

{

cout<<“Masukkan nilai pertama = “; cin>>nilai[i];

}

cout<<endl;

 

cout<<“Hasil pengaksessan elemen array lewat”;

cout<<“Pointer”;

cout<<endl<<endl;

 

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

{

cout<<“Elemen “<< i <<“. Nilai “<<nilai[i];

cout<<“, menempati alamat memori = “;

cout<<&ptrnilai[i];

cout<<endl;

}

getch();

}

 

Latihan 5 Membuat output penggunaan pointer pada string

HASIL PROGRAM:

105

Source code:

#include <iostream>

#include<conio.h>

 

using namespace std;

 

int main()

{

char band_metal[]=”SEPULTURA”;

char *band_punk=”RANCID”;

 

cout<<“Nama Band Metal = “<<band_metal<<endl;

cout<<“Nama Band Punk = “<<band_punk;

band_punk+=3;

 

cout<<“Nama Band Metal = “<<band_metal<<endl;

cout<<“Nama Band Punk = “<<band_punk;

getch();

}

 

Latihan 6 Membuat output penggunaan macro #define1

HASIL PROGRAM:

106.png

Source code:

#include <iostream>

#include<conio.h>

#include<stdio.h>

#define pi 3.141592

#define L(n) pi*n*n

 

using namespace std;

 

int main()

{

 

cout<<“Luas lingkaran dengan : “<<endl;

cout<<“Jari-jari = 5 adalah “<<L(5)<<endl;

cout<<“Jari-jari = 10 adalah “<<L(10)<<endl;

getch();

}

 

Latihan 7 Membuat output penggunaan macro #define2

HASIL PROGRAM:

107

Source code:

#include <iostream>

#include<conio.h>

#include<stdio.h>

#define awal{

#define akhir}

#define mulai() main()

#define cetak cout

#define masuk cin

//#define hapus() clrscr()

#define tahan() getch()

#define LS_kubus (sisi*sisi)

mulai()

awal

 

using namespace std;

 

int sisi, ls_kubus;

//hapus();

cetak<<“Program penggunaan #define “<<endl;

cetak<<“Masukkan nilai sisi kubus = “;

masuk>>sisi;

 

ls_kubus = LS_kubus;

cetak<<“Luas kubus adalah : “<<LS_kubus;

tahan();

akhir

 

 

Latihan 8 Membuat output penggunaan macro #if #endif

HASIL PROGRAM:

108

Source code:

#include <iostream>

#include<conio.h>

#include <stdio.h>

#define N 4

 

using namespace std;

 

int main()

{

#if N>0

printf(“Lebih besar dari nol”);

#endif // N

 

getch();

}

 

 

 

 

 

 

 

 

 

 

 

 

String

Pengertian String

String adalah sekumpulan dari karakter, baik itu berupa karakter huruf, angka, spasi atau karakter lain. Dalam C++ nilai string harus diapit dalam tanda petik satu (“_”).

String dpat dideklarasikan dengan menggunakan array karakter seperti berikut:

char var_name[N];

Setelah suatu variabel string didefinisikan, kita dapat mengisi data tersebut secara langsung atau dari keyboard dengan menggunakan fungsi cin.

Fungsi cin tidak menerima spasi, jika anda memasukkan karakter yang mengandung spasi, karakter setelahnya tidak akan disimpan. Untuk mengatasi masalah ini, tambahkan fungsi berikut:

cin.get(var, length)

atau

cin.getline(var, length)

Selain itu anda juga dapat menggunaakn fungsi gets(var) dari prototype stdio.h.

Fungsi Manipulasi String

Borland C++ menyediakan beberapa jenis fungsi yang digunakan untuk manipulasi string. Berikut beberapa fungsi untuk manipulasi string:

Fungsi File Header Keterangan
strcpy() String.h digunakan untuk menyalin string dari variabel asal ke tujuan syntax: strcpy(tujuan, asal)
strlen() String.h digunakan untuk mengetahui jumlah karakter dalam string syntax: strlen(string)
strrev() String.h digunakan utuk membalik letak urutan string syntax: strrev(string)
strcat() String.h, ctype.h Digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan. Syntax: Strcat(tujuan, sumber)
strcmp() String.h Digunakan untuk membandingkan string pertama dan string kedua Syntax: Strcmp(str1, str2)

Fungsi konversi string

Beberapa fungsi untuk konversi string dapat dilihat dalam tabel berikut:

Fungsi File Header Keterangan
atof() math.h Digunakan untuk mengubah string (angka) menjadi blangan float
atoi() stdlib.h Digunakan untuk mengubah string (angka) menjadi blangan integer
atol() stdlib.h Digunakan untuk mengubah string (angka) menjadi blangan long integer
strlwr() String.h Digunakan untuk mengubah huruf kapital dalam string menjadi huruf kecil.
strupr() strupr() Digunakan untuk mengubah huruf kecil dalam string menjadi huruf kapital.

Latihan 1 Membuat Program Sederhana menggunakan normal, uppercase, lowercase

Hasil Program

p61

Source Code:

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <iostream>

 

int main()

{

char str1 [80] = ” Saya Belajar Turbo C “;

printf(“Normal     : %s\n”,str1);

strupr(str1);

printf(“UpperCase : %s\n”,str1);

strlwr(str1);

printf(“LowerCase : %s\n”,str1);

 

getch();

 

return 0;

}

Latihan 2 Membuat Program dengan strrev

Hasil Program

p62

Source Code:

#include <stdio.h>

#include <conio.h>

#include <string.h>

 

int main()

{

char str1[80]=”Saya Belajar Turbo C”;

 

printf(“Normal : %s\n”,str1);

strrev(str1);

printf(“Reverse : %s\n”,str1);

getch();

return 0;

}

Latihan 3 Membuat Program menggunakan strnset

Hasil Program

p63

Source Code:

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <iostream>

 

int main()

{

char str1 [21]= “Saya Belajar Turbo C”;

 

strnset(str1,’A’,12);

printf(“Setelah strnset 12 : %s\n”,str1);

strset(str1,’x’);

printf(“Setelah strset     : %s\n”,str1);

getch();

 

return 0;

}