Jumat, 18 Mei 2018

Algoritma dalam Program Kasir


Algoritma dalam Program Kasir
MAKALAH TUGAS KELOMPOK
Disusun Guna Memenuhi Tugas Mata Kuliah Keprodian Teknik
Dosen Pengampu : Agung Sutikno







Disusun oleh :
Fauziah Efita Zahra
Sintiya Agneslia
M. Farhan Sauki
Givari Abdul rahman
Robbi Syamsul Ma’arif
Khoerul Umam



FAKULTAS TEKNIK
UNIVERSITAS NAHDHLATUL ULAMA INDONESIA ( UNUSIA )
 MATRAMAN
2018






Kata Pengantar

Puji dan syukur kami haturkan kepada Allah SWT Tuhan Yang Maha Esa, atas berkat dan rahmat-Nya kami dapat menyelesaikan makalah ini. Makalah ini berjudul “Algoritma dalam Program Kasir” dimana di kehidupan kita sehari-hari sering kita jumpai, contohnya seperti di supermarket, toko buku, restaurant dsb. Algoritma berfungsi untuk menyelesaikan suatu masalah. Oleh karena itu, kita membutuhkan program algoritma untuk menyelesaikan masalah yang ada.
Kami memohon maaf kepada bapak dosen khususnya, umumnya para pembaca apabila menemukan kesalahan atau kekurangan dalam karya tulis ini, baik dari segi bahasanya maupun isinya, kami mengharapkan kritik dan saran yang bersifat membangun kepada semua pembaca demi lebih baiknya karya-karya tulis yang akan datang.
Mudah-mudahan makalah yang kami buat ini, bermanfaat bagi semua orang khususnya untuk kami sendiri maupun untuk pembaca. Atas perhatianyakami mengucapkan terima kasih.
                                                                                                Jakarta, 11 Mei 2018
                                                                                                Penulis,


















DAFTAR ISI

Kata Pengantar..............................................................................
Daftar Isi.......................................................................................
BAB I Pendahuluan
A.      Latar Belakang………...........................................................
B.      Rumusan Masalah..................................................................
C.      Tujuan Penulisan....................................................................
BAB II Pembahasan
A.    Definisi Algoritma dan Flowchart………………………
1.      Definisi Algoritma…………………………………..
2.      Standar Algoritma yang Baik……………………….
3.      Penyajian Algoritma…………………………………
4.      Definisi Flowchart…………………………………..
B.     Hubungan Algoritma dengan Program Kasir
C.     Penerapan Algoritma pada Program Kasir………………
1.      Source Code Program Kasir…………………………
BAB III  Penutup..........................................................................
Daftar Pustaka...............................................................................












BAB I
PENDAHULUAN

A.   LATAR BELAKANG
Di era globalisasi ini, perkembangan teknologi semakin lama semakin canggih dan maju. Demikian juga halnya dengan usaha-usaha yang telah ada, tentunya akan membutuhkan program dan tahapan yang terencana guna membuat usaha tersebut lancar dan sukses.
Program dan tahapan yang dimaksud di atas adalah algoritma .Algoritma menjadi sebuah dasar dalam sebuah program untuk dapat bekerja sesuai dengan rencana atau tidak. Algoritma dalam pemrograman sistem kasir sangatlah diperlukan guna memperlancar proses jual beli di sebuah tempat usaha.

B.   RUMUSAN MASALAH
1.     Apa yang dimaksud dengan algoritma dan flowchart ?
2.     Bagaimana standar algoritma yang baik untuk menjalankan program secara efisien?
3.     Bagaimana hubugan antara algoritma dengan pemrograman sistem kasir?

C.   TUJUAN MASALAH
1.     Dapat mendeskripsikan algoritma dan kegunaannya dalam pemrograman.
2.     Mampu mengidentifikasi algoritma yang tepat pada program tertentu.








BAB II
PEMBAHASAN

 A.   Algoritma dan Flowchart
1.     Definisi Algoritma
Algoritma adalah urutan dari langkah-langkah yang logis dalam menyelesaikan masalah. Pada saat kita mempunyai masalah, maka kita harus dapat menyelesaikan masalah tersebut dengan memakai berbagai langkah yang logis.
Contoh dari algoritma sederhana dalam kehidupan nyata adalah memasak air. Hal-hal yang dilakukan untuk memasak air : siapkan panci, masukkan air ke dalam panci, tutup panci tersebut, letakkan panci di atas kompor, hidupkan kompor dengan api sedang, jika air sudah mendidih, matikan kompor, kemudian angkat panci dari kompor. Langkah-langkah untuk memasak air tersebut adalah algoritma memasak air. Cara memasak air tersebut mempunyai urutan langkah-langkah yang logis.

Dalam ilmu matematika dan komputer, pengertian algoritma adalah suatu
prosedur dari langkah demi langkah untuk penghitungan. Algoritma digunakan untuk penghitungan, penalaran otomatis, serta pemrosesan data. Pengertian algoritma merupakan suatu metode yang efektif untuk diekspresikan sebagai rangkaian yang terbatas dari instruksi-instruksi yang telah dijelaskan dengan baik dalam menghitung fungsi.

Susunan algoritma dimulai dari kondisi awal dan input awal, instruksi tersebut adalah instruksi yang mendeskripsikan komputasi yang apabila itu dieksekusi dan kemudian diproses dengan melewati beberapa urutan kondisi terbatas yang terdefinisi dengan baik, sehingga menghasilkan output atau keluaran serta berhenti dikondisi akhir yang telah ditentukan.
Algoritma sangat dibutuhkan untuk keperluan mengolah data di komputer. Dalam sistem komputer, pengertian algoritma adalah logika yang dibuat dengan menggunakan software oleh para pembuat perangkat lunak agar membuat software menjadi lebih bagus. Algoritma berbeda dengan Logaritma. Logaritma adalah operasi di ilmu matematika untuk menghitung kebalikan eksponen dari perpangkatan.

Kata Algoritma ditemukan oleh seorang matematikawan dari persia abad ke-9 yang bernama Abu Abdullah Muhammad Ibnu Musa Al-Khwarizmi. Dari masa ke masa, kata algoritma mulai berkembang di abad ke 18.

2.     Standar algoritma yang baik
Algoritma sangat erat hubungannya dengan baik atau tidak nya suatu program untuk berjalan. Untuk membuat suatu program yang baik dan efisien, kita perlu membuat algoritma yang tepat karena Algoritma menjadi bahasa pemrograman dari program yang ada.
Algoritma yang tepat berarti dalam sebuah pemasukan data, akan menghasilkan output yang sebanding dengan input yang diberikan programmer. Serumit apapun sebuah algoritma, jika memberikan output yang salah, maka algoritma tersebut bukanlah algoritma yang tepat.
Dalam menciptakan program yang tepat, algoritma yang digunakan haruslah efisien dan efektif. Keefisienan suatu algoritma dapat dilihat ketika kita menjalankan program tersebut kita tidak perlu melewati proses yang rumit untuk menginput data untuk dijalankan program tersebut. Selain itu, output yang dihasilkan juga memiliki keakuratan yang baik. Keefisienan algoritma yang dibuat juga harus efisien dalam penggunaan memori. Keefektifan algoritma yang dibuat berpengaruh dalam pemakaian waktu yang kita perlukan untuk menjalankan program tersebut.
Algoritma juga dapat dikatakan sebagai algoritma yang baik apabila bersifat umum, sehingga bisa menyelesaikan berbagai macam permasalahan. Dalam system kasir misalnya, algoritma dapat menentukan jenis barang beserta harganya, dan  mentotalkan harga barang yang di beli.
Algoritma juga harus mudah untuk dipahami,  karena apabila terlalu rumit maka ditakutkan sebuah program tidak akan dapat di kelola dan dikembangkan dengan baik. Dan juga Portabilitas yang tinggi (Portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer


3.     Penyajian algoritma
Dalam menyajikan algoritma dapat di bagi dalam dua format.yakni format tulisan dan format simbol.
a.       Format Tulisan
Penyajian algoritma dalam format tulisan berarti algoritma dituangkan dengan menggunakan bahasa seperti deskripsi langkah-langkah dalam menyelesaikan masalah tertentu. Penyajian tersebut dapat berupa bahasa natural dan pseudocode. Pseudocode adalah penjabaran ide-ide dari algoritma. Cara pseudocode adalah merenggangkan kata-kata sehingga tidak terlalu formal. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal.
b.      Format Simbol
Penyajian algoritma dengan format tulisan dituangkan dengan penggunaan gambar geometris seperti bentuk segienam, jajarangenjang, persegi, dsb. Setiap bentuk geometris tersebut memiliki artinya masing-masing yang sudah terprogram dengan program yang dibuat. Ada beberapa metode penyajian algoritma dalam format gambar diantaranya: flow chart, structure chart,dsb.
4.     Definisi Flow chart
Flowchart sendiri adalah cara yang paling sering dilakukan. Flowchart adalah sebuah runtutan yang berbentuk bagan untuk menunjukkan sebuah proses pemecahan masalah. Setiap runtutan memiliki symbol masing-masing, mulai dari start, input, proses, inisial, deciding dan lain-lain Sedangkan garis menunjukkan penghubung antara proses. Disamping itu flowchart juga berguna sebagai fasilitas untuk memudahkan pemrogram berkomunikasi ketika bekerja dalam tim suatu proyek.

B.   Hubungan Algoritma dengan Program Kasir
Algoritma bisa diartikan sebagai sebuah runtutan langkah yang logis dan juga disusun secara sistematis untuk menyelesaikan suatu masalah ataupun menjalankan sebuah program. Hal tersebut juga berlaku dalam penghitungan angka, misalnya dalam penjumlahan, perkalian, pembagian, sampai pengakaran dan pemangkatan, semua menggunakan langkah-langkah yang logis untuk mendapatkan hasil yang akurat. Apabila terjadi ketidakruntutan di dalam salah satu prosesnya, maka hasilnya pun akan melenceng, misalnya kita ingin mengurangkan lima dari delapan, apabila kita salah menempatkan atau tempat dari angka lima dan delapan tersebut tertukar, maka tentu saja hasil yang tercetak juga akan berbeda. Hasil yang seharusnya tiga, tetapi akibat dari kesalahan penempatan, mengakibatkan hasil yang tercetak menjadi minus tiga.
Program kasir adalah program yang dirancang dan ditujukan untuk mempermudah prose pembelian suatu atau beberapa barang sekaligus, dalam hal ini seorang kasir tidak perlu menghitung harga barang satu persatu dan menjumlahkannya melalui kalkulator, cukup dengan meng-inputkan kode barang yang tertera di barang tersebut dan menginputkan jumlah barang yang kita beli maka semua permasalahan terselesaikan dengan cepat dan tidak timbul adanya antrian yang panjang, sehingga efisiensi dan efektifitas waktu dari suatu proses penjualan dapat mencapai nilai maksimal.
Pada program kasir ini menggunakan tipe data string dan  integer. Program kasir membaca inputan data berupa  kode barang yang dimasukan oleh penggunanya. Saat inputan data ini tidak sesuai dengan kode yang ada pada program, maka akan muncul “kode yang anda masukan salah” dan akan dicetak kosong pada outputnya. Dan saat kode barang yang di input cocok dengan yang ada di program maka proses akan dilanjutkan dan kemudian  akan diminta jumlah barang yang mau dibeli. Setelah itu akan diproses oleh program.
Dalam proses ini jumlah barang yang dibeli akan dikalikan dengan harga satuan tiap barang yang dibeli dan juga jumlah toatal pembayaran yang harus dilakukan. Kemudian  output dari pembelian yang telah dilakukan akan ditampilkan. Setelah itu akan diminta pembayaran yang harus dilakukan, saat uang yang dimasukan kurang akan diminta untuk memasukan jumlah pembayaran lagi. Dan kemudian selesai.
Bisa di lihat bahwa system kasir sangatlah erat hubungannya dengan algoritma. Segala perhitungan yang dilakukan oleh sistem kasir berasal dari algoritma. Proses selalu diawali dengan memasukkan kode barang dan harga pada sistem diikuti dengan pendeteksian  barang saat di beli sehingga saat barang di scan bisa muncul harga barang yang benar.
Tentu saja, untuk membuat program seperti sistem kasir, dibutuhkan bahasa pemrograman. Bahasa pemrograman merupakan perintah atau instruksi standar yang digunakan untuk memerintah komputer. Bahasa pemrograman yang biasa digunakan adalah C, C++, Pascal, Basic, Java, visual basic dan lain-laiin. Walaupun bahasa yang digunakan dalam pemrograman tersebut berbeda-beda, tetapi tetap saja pemrograman tersebut menggunakan algoritma sebagai dasar pengelolaan perintah nya.
C.   Penerapan Algoritma pada Sistem Kasir
1.      Source Code Program Kasir

REM database
DATA "Choco Flat",9500
DATA "Roti Smoke Cheese",9500
DATA "Smoke Beef",11000
DATA "Roti Tuna Mayo Corn",11000
DATA "Saudage Pie",12000
DATA "Water Mineral",5000
DATA "Lemon Tea",6000
DATA "Orange Juice",6000
DATA "Milo",7000
DATA "Kopi Tamu",15000

REM variable
DIM Namabarang$(10)
DIM harga(10)

REM baca database
FOR a = 1 TO 10
READ Namabarang$(a), harga(a)
NEXT a
GVA$ = CHR$(223)
GVB$ = CHR$(220)
GH$ = CHR$(219)

CLS
x:
COLOR 3
PRINT "                                THARF BREAD"
PRINT
PRINT
COLOR 4
PRINT "                                     Menu Kami"
PRINT
COLOR 7
PRINT "Menu Makanan          Harga      Menu Minuman          Harga "
COLOR 4
PRINT "1.Choco Flat                  Rp 9500          6.Water MineralRp 5000"
PRINT "2.Roti Smoke Cheese Rp 9500 7.Lemon Tea   Rp 6000"
PRINT "3.Smoke Beef                Rp 11000        8.Orange JuiceRp 6000"
PRINT "4.Roti Tuna Mayo Corn Rp 11000       9.Milo  Rp 7000"
PRINT "5.Saudage Pie    Rp 12000     10.Kopi Tamu   Rp 15.000"
PRINT
COLOR 3
LOCATE 14, 5: PRINT GH$; " KODE "; GH$; "   NAMA BARANG    "; GH$; "  JUMLAH  "; GH$; "    HARGA    "; GH$; " JUMLAH HARGA "; GH$
LOCATE 15, 5: PRINT GH$; STRING$(6, GVA$); GH$; STRING$(15, GVA$); GH$; STRING$(15, GVA$); GH$; STRING$(10, GVA$); GH$; STRING$(15, GVA$); GH$

FOR BAR = 1 TO 10
LOCATE 15 + BAR, 5: PRINT GH$; STRING$(6, " "); GH$; STRING$(15, " "); GH$; STRING$(15, " "); GH$; STRING$(10, " "); GH$; STRING$(15, " "); GH$
NEXT BAR

LOCATE 16, 5: PRINT GH$; STRING$(49, GVA$); GH$; STRING$(15, GVA$); GH$
LOCATE 17, 5: PRINT GH$; STRING$(49, " "); GH$; STRING$(15, " "); GH$

LOCATE 18, 5: PRINT GH$; STRING$(49, GVA$); GH$; STRING$(15, GVA$); GH$
LOCATE 19, 5: PRINT GH$; STRING$(49, " "); GH$; STRING$(15, " "); GH$

LOCATE 20, 5: PRINT GH$; STRING$(49, GVA$); GH$; STRING$(15, GVA$); GH$
LOCATE 21, 5: PRINT GH$; STRING$(49, " "); GH$; STRING$(15, " "); GH$
LOCATE 22, 5: PRINT GH$; STRING$(49, GVB$); GH$; STRING$(15, GVB$); GH$

LOCATE 23, 5: PRINT GH$; "                                   TOTAL BAYAR : ";
LOCATE 24, 5: PRINT GH$; "                                         BAYAR : ";
LOCATE 25, 5: PRINT GH$; "                                     KEMBALIAN : ";
COLOR 3
LOCATE 14, 6: PRINT "Kode"
LOCATE 14, 18: PRINT "Nama"
LOCATE 14, 31: PRINT "Harga Satuan"
LOCATE 14, 47: PRINT "Jumlah"
LOCATE 14, 58: PRINT "Harga Total"

uang = 0
x = 1
DO
LOCATE 16 + x, 6: INPUT "", pilih
IF pilih < 0 OR pilih > 10 THEN
LOCATE 16 + x, 7: PRINT "           "
            LOCATE 16 + x, 7: INPUT "", pilih
            END IF
LOCATE 16 + x, 16: PRINT Namabarang$(pilih)
LOCATE 16 + x, 29: PRINT harga(pilih)
LOCATE 16 + x, 49: INPUT "", JUMLAH
total = harga(pilih) * JUMLAH
LOCATE 16 + x, 56: PRINT "", total
jumtotal = jumtotal + total
LOCATE 23, 55: PRINT "", jumtotal
             x = x + 1
LOOP UNTIL pilih = 0
LOCATE 24, 58: INPUT "", uang
kembalian = uang - jumtotal
WHILE uang < jumtotal
    LOCATE 24, 58: PRINT "                    "
    LOCATE 24, 58: INPUT "", uang
WEND
kembalian = uang - jumtotal
LOCATE 24, 43: PRINT "KEMBALIAN :", kembalian
LOCATE 24, 48: PRINT "Terimakasih..."






BAB III
PENUTUP

Algoritma adalah sebuah urutan cara penyelesaian sebuah masalah dan juga pengambilan keputusan yang dapat dimanfaatkan untuk menjalankan suatu program.
Algoritma tidak dapat di buat secara tidak pasti, karena dibutuhkaan algoritma yang baik dan sistematis untuk menghasilkan output yang tepat. Salah satu contoh teknologi yang membutuhkan perhitungan algoritma adalah sistem kasir. Segala perhitungan yang dilakukan oleh sistem kasir berasal dari algoritma. Proses selalu diawali dengan memasukkan kode barang dan harga  pada sistem diikuti dengan pendeteksian  barang saat di beli sehingga saat barang di scan bisa muncul harga barang yang benar semua itu merupakan tugas dari algoritma.






DAFTAR PUSTAKA

3.http://lppm.trigunadharma.ac.id/public/fileJurnal/6BEB3-OK-Jurnal13-Sani-MF-Algo1-1.pdf