Senin, 09 November 2015

flowchart bisnis laundry

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.

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:
  1. Induksi Matematika,
  2. Pembuktian kontradiktif,
  3. Pembuktian kontrapositif, dan
  4. 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....”.
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