Senin, 09 November 2015
Program Laundry menggunakan C++
Kali ini saya akan memposting program bisnis laundry dengan C++
langsung aja, cekidot
#include <iostream>
#include <stdio.h>
typedef struct
{
char nama[50];
char alamat[50];
char kata[50];
int jmlhari;
int berat;
} customerprof;
void ucapan()
{
printf("TERIMA KASIH\n");
}
int main()
{
customerprof cust;
int bayar,harga;
printf("PROGRAM LAUNDRY RYAN,RACIX,DHIKA\n");
printf("Masukkan Nama : "); gets(cust.nama);
printf("Masukkan Alamat : "); gets(cust.alamat);
printf("Masukkan Jumlah Hari : "); scanf("%d",&cust.jmlhari);
printf("Masukkan Jumlah Berat : "); scanf("%d",&cust.berat);
printf("\n");
printf("Nama: %s", &cust.nama);
printf("\n");
printf("Alamat: %s", &cust.alamat);
if (cust.jmlhari==1)
{
harga=6000;
}
else
{
if (cust.jmlhari==2)
{
harga=5000;
}
else
{
harga=4000;
}
}
bayar = cust.berat*harga;
printf("\n");
printf("Bayar: %d", bayar);
printf("\n");
printf("\n");
ucapan();
}
itu merupakan programnya, dan di bawah ini merupakan hasil run,
sekian program dari kelompok kami, Rian,Supriyanto, dan Dika
ATURAN PENULISAN TEKS ALGORITMA
Langkah-langkah penyelesaian masalah dalam teks algoritma dapat ditulis dalam notasi apapun, dengan syarat bahwa langkah-langkah tersebut mudah dipahami dan dimengerti. Tidak ada notasi yang baku dalam teks algoritma sebagaimana notasi dalam bahasa pemrograman (notasi dalam algoritma disebut dengan notasi algoritmik). Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Berkaitan hal itu untuk memudahkan translasi notasi algoritmik ke dalam bahasa pemrograman, sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum. Sebagai contoh :
Tulis nilai X dan Y
Symbol-symbol Flowchart
Berikut ini adalah contoh sebuah flowchart mengenai bilangan ganjil dan genap.
·
Persamaan algoritma dan flowchart adalah merincikan suatu proses dari awal sampai akhir.
Perbedaan algoritma dan flowchart adalah kalau algoritma menjelaskan suatu proses tanpa menggunakan simbol sedangkan flowchart menjelaskan suatu proses menggunakan simbol-simbol tertentu.
Perbedaan algoritma dan flowchart adalah kalau algoritma menjelaskan suatu proses tanpa menggunakan simbol sedangkan flowchart menjelaskan suatu proses menggunakan simbol-simbol tertentu.
Pembuktian Kebenaran Algoritma
Kita telah mengetahui bahwa sebuah algoritma yang baik adalah algoritma yang benar, efisien, dan mudah diimplementasikan. Pertanyaan berikutnya tentunya adalah, bagaimana kita mengetahui bahwa sebuah algoritma telah benar? Algoritma yang efisien itu seperti apa? Bagaimana kita mengukur kemudahan implementasi sebuah algoritma?
Bagian ini akan membahas mengenai pertanyaan pertama, yaitu bagaimana kita dapat mengetahui kebenaran sebuah algoritma. Tentunya efisiensi dan kemudahan implementasi sebuah algoritma menjadi tidak penting jika algoritma tersebut tidak dapat memberikan hasil yang benar.
Definisi dari kebenaran algoritma yang digunakan pada tulisan ini adalah sebagai berikut:
Sebuah algoritma dikatakan telah benar jika algoritma tersebut dapat memberikan keluaran yang benar jika menerima masukan sesuai dengan definisi algoritma tersebut, dan algoritma tersebut terbukti akan selalu dapat diterminasi (berakhir).
Pembuktian kebenaran sebuah algoritma sendiri dapat dilakukan dengan beberapa cara, misalnya:
- Induksi Matematika,
- Pembuktian kontradiktif,
- Pembuktian kontrapositif, dan
- Metode Formal.
Masing-masing alat pembuktian yang disebutkan memiliki kelebihan dan kekurangan masing-masing, serta kasus pengunaan yang berbeda-beda. Perlu diingat juga bahwa masih terdapat, tetapi kita hanya membahas satu cara pembuktian (induksi matematika) saja sebagai pengenalan cara membuktikan algoritma. Jika dibutuhkan, metode dan alat pembuktian lain akan dijelaskan lagi pada bagian yang relevan.
Sekarang mari kita lihat penggunaan masing-masing alat tersebut untuk membuktikan algoritma!
Sejarah Algoritma
Kata algoritma berasal dari latinisasi
nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad
ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari
abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata
algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk
menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya
dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini
berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah
yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan. Masalah
timbul pada saat akan menuangkan bagaimana proses yang harus dilalui dalam
suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya,
komputer dapat bekerja seperti yang diharapkan. Programer komputer akan lebih
nyaman menuangkan prosedur komputasinya atau urutan langkah proses dengan
terlebih dahulu membuat gambaran (diagram alur) diatas kertas.
Belajar algoritma merupakan hal terpenting
sebagai syarat menjadi programmer yang handal karena dasar algoritma jarang
terpengaruh oleh suatu perkembangan teknologi walaupun sekarang banyak
bermunculan berbagai macam algoritma baru dan kompleks untuk mengatasi
permasalahan yang ada. Pembelajaran algoritma sekarang pun sudah mulai
berpindah dari terstruktural ke arah berbasis objek. Kalau kita perhatikan
pemrograman sekarang cepat mengalami evolusi (perubahan) karena pemrograman
harus beradaptasi dengan kebutuhan manusia setiap saat, sebegai contoh: hari
ini kita belajar mati-matian pemrograman xxx, kemudian dalam waktu empat bulan
kemudian sudah berganti versi bahkan ada juga bahasa pemrogramannya. Jadi
kadang-kadang kita juga bingung harus belajar pemrograman apa? pusing maning
son...he.., tetapi tenang saja, karena untuk menanggulangi perkembangan
pemrograman tersebut, Anda harus dapat menguasai dasar dari algoritma dengan
baik dan benar, karena ”apapun bahasa pemrogramannya, pada dasarnya algoritma
tetap satu”, itu sekelumit betapa pentingnya belajar algoritma
Apa yang kita pelajari tentang algoritma?
pada intinya algoritma untuk membuat langkah-langkah secara sistematis yang
mendekati bahasa pemrograman dan program tersebut diharapkan berkomunikasi
dengan komputer, melalui algoritma yang sudah diterjemahkan dalam bahasa
program. Agar program kita dapat dilaksanakan oleh komputer, program tersebut
harus ditulis dalam suatu bahasa yang dimengerti oleh komputer. Sebagaimana
dalam kehidupan, kita hanya dapat memberikan perintah kepada orang lain dalam
bahasa yang ia mengerti, misalnya dengan orang Cina, kita hanya dapat
memberikan tugas kepadanya ke dalam bahasa Cina. Ingat komputer adalah bahasa
mesin, jadi kalau kita akan memerintahkan komputer harus menggunakan bahasa
khusus untuk berkomunikasi dengan komputer. Berikut proses tindak lanjut dari
algoritma.
Marilah kita tinjau terlebih dahulu
asal-usul dari kata algoritma, menurut beberapa sumber, asal kata algoritma
sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang
berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda
menghitung menggunakan angka Arab. Para ahli bahasa berusaha menemukan asal
kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika
menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang
terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi
dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul
Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The
Book of Restoration and Reduction). Dari judul buku itu kita juga memperoleh
akar kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm
muncul karena kata Algorism sering dikelirukan dengan Arithmetic, sehingga
akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah
menjadi hal yang biasa. Maka lambat laun kata Algorithm berangsur-angsur
dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan
makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi
Algoritma. Sehingga algoritma dikatakan langkah-langkah logis untuk
penyelesaian suatu masalah yang disusun secara sistematis dan logis.
SEKILAS ALGORITMA
Algoritma merupakan kunci yang paling penting dari seorang programmer. Kita lihat banyak program yang dibuat orang, masih terdapat banyak kesalahan atau error, sering terjadi hang yang menyebalkan, tidak bisa runing-lah, tidak bisa menyimpan data dengan benar, dan lain sebagainya. Kenapa terjadi demikian? karena dibuat tanpa menggunakan dasar analisi dan algoritma yang benar. Memang sebagian besar orang dalam mempelajari algoritma, banyak mengalami kendala dan kesulitan dalam mempelajarinya apa lagi yang baru belajar algoritma maka ujung-ujungnya akan timbul penyakit dari jaman dahulu yaitu males.. males..malesss.., untuk itu sebaiknya kita tanamkan terlebih dahulu, semangat pada diri kita sebelum belajar algoritma lebih jauh, coba katakan dalam hati kita ”belajar algoritma itu mudah dan menyenangkan, tersenyumlah...bergembiralah....”.
Algoritma merupakan kunci yang paling penting dari seorang programmer. Kita lihat banyak program yang dibuat orang, masih terdapat banyak kesalahan atau error, sering terjadi hang yang menyebalkan, tidak bisa runing-lah, tidak bisa menyimpan data dengan benar, dan lain sebagainya. Kenapa terjadi demikian? karena dibuat tanpa menggunakan dasar analisi dan algoritma yang benar. Memang sebagian besar orang dalam mempelajari algoritma, banyak mengalami kendala dan kesulitan dalam mempelajarinya apa lagi yang baru belajar algoritma maka ujung-ujungnya akan timbul penyakit dari jaman dahulu yaitu males.. males..malesss.., untuk itu sebaiknya kita tanamkan terlebih dahulu, semangat pada diri kita sebelum belajar algoritma lebih jauh, coba katakan dalam hati kita ”belajar algoritma itu mudah dan menyenangkan, tersenyumlah...bergembiralah....”.
Berikut contoh
permasalahan dalam kehidupan yang sering kita hadapi, misalnya sebagai berikut:
1. Kasus
perhitungan
2
+ 5 = 7 2 * 5 =
10
5
: 2 = 2.5 2 – 5 = -3 dll.
Contoh
kasus dalam penjumlahan:
c
= 3 + 8
jadi c
= 11
Dengan
nilai masukan ke variabel a, b dan proses perhitungan disimpan pada variabel c,
seperti
berikut:
Diketahui: a = 3,
b = 8 dan c adalah hasil penjumlahan, sehingga
c
= a + b, jadi
c =
3 + 8
maka,
nilai c akan menjadi, c = 11
2. Kasus
pengurutan data
Data
awal : 2, 5, 4, 9, 3
Maka,
setelah melakukan proses pengurutan data menjadi
Data
terurut secara ascending : 2, 3, 4, 5, 9
3. Kasus
pencarian data
Data
n : 2, 8, 5, 7, 11, 39, 0, 3
Carilah
nilai 5
Maka
setelah melakukan proses pencarian terhadap data n=5 sehingga
Data
tersebut ketemu pada indeks ke-2 dari data n. Karena indeks pada data n dimulai
dari
indeks ke-0.
4. Kembalian
belanjaan di swalayan
5. Daftar
resep menu masakan
6. Penggajian
karyawan
7. Pembayaran
uang sekolah
8. Sistem
pemilihan Pemilu
9. Pembayaran
pajak negara, iuran listrik, telepon, jaringan komputer.
10. Pembayaran
SPBU
11. Perkiraan
cuaca, SIG (sistem informasi geografi)
12. Jaringan
sosial seperti : yahoo messenger,
chating, dan yang terkenal saat ini yaitu
facebook,BBM
dll.
Di atas merupakan contoh kecil dari
permasalahan yang sering dihadapi oleh kita, sehingga diperlukan adanya upaya
analisa yang benar dan tepat, untuk menghasilkan keputusan yang akurat atau
error dapat diminimalisasi, sehingga mengahasilkan algoritma yang tepat sasaran
dan berkualitas serta berumur panjang. Ada kalanya kita bertanya apa algoritma
itu dan mahkluk apa algoritma itu? Nah.. untuk menjawab pertanyaan tersebut,
alangkah baik kita memperhatikan dan mengenal dari beberapa definisi algoritma,
dibawah ini.
Algoritma menurut
definisi secara umum yaitu:
§
Algoritma adalah langkah-langkah logis
untuk penyelesaian suatu masalah yang disusun secara sistematis dan logis. Kata
Logis merupakan suatu kata kunci dalam algoritma. Langkah-langkah dalam
algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar
(true/false). Biasanya algoritma bertujuan untuk menyelesaikan masalah-masalah
dalam kehidupan sehari-hari seperti pengoperasian matematika, menghitung gaji
karyawan, penjadwalan kerja, logika jaringan komputer dan kasus-kasus lainnya
seperti rekonstruksi wajah pelaku pengeboman, robotika serta modelview dll.
§
Algoritma adalah deretan langkah-langkah komputasi
yang mentransformasikan data masukan menjadi keluaran [COR92] Algoritma adalah
deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh
keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas.
[LEV03]
§
Algoritma adalah deretan langkah komputasi
yang mentransformasikan masukan menjadi keluaran [COR89]
§
Algoritma, menurut definisi kamus besar
bahasa Indonesia yaitu: ”Algoritma adalah urutan logis pengambilan putusan
untuk pemecahan masalah”
Jadi kesimpulan algoritma yaitu untuk
penyelesaikan suatu masalah tertentu dengan menggunakan langkah-langkah logis
dan sistematis serta bagaimana cara memerintahkan komputer melalui
intruksi-intruksinya. Dalam membuat algoritma yang benar yaitu terlebih dahulu
membuat suatu analisis masalah dan kemudian disusun secara sistematis dan logis
sebelum membuat program, jangan sampai terbalik otrehh... sebetulnya algoritma
merupakan langkah awal sebelum membuat program/proses selanjutnya.
Kriteria suatu
algoritma yang baik yaitu:
§
Ada input dan output, dalam Algoritma
harus ada suatu inputan dan keluaran yang merupakan prinsip dasar algoritma.
§
Sistematis, algoritma bekerja secara
sistematis atau berurutan dalam mengerjakan setiap tugasnya dan tidak boleh
saling melompat atau mendahului data sebelumnya.
§
Logis, algoritma harus dapat diterima oleh
akal kita. Dalam membuat algoritma harus tepat sasaran dan sesuai dengan pola
pikiran manusia.
§
Efektivitas dan efisien, teknik penulisan
algoritma harus dapat menghasilkan suatu algoritma yang efektif dan efisien
untuk suatu masalah tertentu, artinya penggunaan algoritma harus tepat sasaran
untuk menyelesaikan permasalahan dan tidak boleh bertele-tele.
§
Stop atau berhenti, algoritma harus
berhenti pada saat tertentu, baik dalam pengulangan tertentu maupun akhir dari
algoritma sendiri.
Sekarang kita sudah membahas sedikit
tentang definisi algoritma, pada pembahasan di atas. Selanjutnya pada buku ini
juga akan membahas tentang bagaimana mengimplementasikan ke dalam suatu bahasa
pemrograman melalui berbagai teks editor seperti JCreator atau Anda pakai
editor lain yang bisa menangani pengolahan bahasa Java.
Algoritma pada dasarnya
terdiri dari:
§
Runtunan/Squence
§
Kondisional/Conditional ( if(....) Then
§
Pengulangan/Repeat (for (....) do,
while(...) do, do(...) while/repeat(....) until
Langganan:
Komentar (Atom)

