Thursday, May 17, 2018

MAKALAH PROGRAM KASIR QBASIC



ALGORITMA DAN PROGRAM KASIR QBASIC







Nama Dosen : Agung Sutikno

Nama Kelompok :
                                 1. Ardian Madjid
                                 2. Arif Bangkit Priyatna
                                 3. Martina Dias
                                 4. Syahrul Maryadi


FAKULTAS TEKNIK UNUSIA
UNIVERSITAS NAHDLATUL ULAMA INDONESIA
JAKARTA
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.Adapun makalah ini yang bertemakan tentang Implementasi Algoritma dalam Pemrograman dengan judul “Algoritma dalam Program Kasir” dimana di kehidupan kita sehari-hari sering kita jumpai seperti supermarket,toko,dsb, kita gunakan untuk menyelesaikan suatu masalah.Oleh karena itu,kita membutuhkan program algoritma tertentu.
Kami mengucapkan terimakasih kepada semua orang yang telah ikut membantu dan berpartisipasi dalam penyusunan tugas makalah ini,kiranya makalah ini dapat berguna dan bermanfaat bagi semua orang.
Kami juga menyadari,bahwa makalah ini masih jauh dari kesempurnaan,oleh karena itu kami sangat mengharapkan saran dan kritik yang membangun dari para pembaca guna menyempurnakan makalah ini kedepannya.



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 programsecara 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.

D.   Batasan Masalah
1.     Peran algoritma dalam teknologi informasi.
2.     Tahapan algoritma yang digunakan dalam pemrograman sistem kasir.







BAB II
PEMBAHASAN

A.   Algoritma dan Flowchart
1.     Definisi Algoritma
Sejarah mengatakan bahwa Algoritma berasal dari nama seorang ahli matematika bangsa Arab yaitu Abu Ja'far Muhammad ibnu Musa al-Khuwarizmi. Al-Khuwarizmi dibaca oleh orang Barat menjadi Algorism.Perubahan kata algorism menjadi algorithm karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm.Lambat laun kata algorithm dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya.Dalam bahasa Indonesia kata algorithm diserap menjadi algoritma

Algoritma bisa diartikan sebagai sebuah urutan atau langkah- langkah yang logis dan juga disusun secara sistematis untuk menyelesaikan suatu masalah ataupun menjalankan sebuah program. Karena merupakan langkah-langkah, maka algoritma tidak dapat dilakukan secara melompat-lompat, harus tersusun berurutan. Selain itu, langkah-langkah tersebut harus bisa ditentukan nilainya benar atau salah. Algoritma. Kamus besar bahasa Indonesia (Balai Pustaka 1988) secara formal mendefinisikan algoritma sebagai urutan logis pengambilan putusan untuk pemecahanmasalah.

Dalam algoritma, hal-hal yang juga ditekankan adalah alur pikiran setiap programmer         ,karena setiap programmer berbeda terkadang alur runtutan algoritma tiap programmer berbeda namun output yang dimaksudkan sama. Penekanan yang lain adalah secara tertulis yang dapat berupa kalimat, gambar ataupun tabel tertentu.

2.     Standar algoritma yang baik
Algoritma sangat erat hubungannya dengan baik atau tidaknya 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, menotalkan 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 fotmat simbol.
1.     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.



2.     Format Simbol
Penyajian algoritma dengan format tulisan dituangkan dengan penggunaan gambar geometris seperti bentuk segienam,jajaran genjang,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.     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.   Penerapan Algoritma pada 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 peggunanya.  Saat inputan data ini tidak sesuai dengan kode yang adapada 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 diprosesoleh program.
Dalam proses ini jumlah barang yang dibeli akan dikalikan dengan harga satuan tiap barang yang dibeli dan juga jumlah total 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.
a.       Source Code Program Kasir

REM database
DATA "Nasi Uduk",7000
DATA "Nasi Rawon",6000
DATA "Pecel Lele",6000
DATA "Sate",15000
DATA "Nasi Kunning",7000
DATA "Es Teh",2000
DATA "Jus Jeruk",5000
DATA "Kopi",3000
DATA "Wedang Jahe",6000
DATA "Es Kelapa Muda",15000

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

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
LOCATE 3, 6: PRINT "========================= Warteg Barokah======================= "
PRINT "     +                                                             +"
PRINT "     ==============================================================="
COLOR 4
PRINT "                                     Menu Kami"
PRINT
COLOR 7
PRINT "Menu Makanan          Harga              Menu Minuman          Harga "
COLOR 4
PRINT "1.Nasi Uduk          Rp 7000            6.Es Teh             Rp 2000"
PRINT "2.Nasi Rawon         Rp 6000            7.Jeruk              Rp 5000"
PRINT "3.Pecel Lele         Rp 6000            8.Kopi               Rp 3000"
PRINT "4.Sate               Rp 15000           9.Wedang Jahe        Rp 6000"
PRINT "5.Nasi Kuning        Rp 7000            10.Es Kelapa Muda    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, 38: PRINT "Terimakasih..."


b. FLOWCHART PROGRAM KASIR





Hasil output Source Codenya





BAB III
PENUTUP
A.    Kesimpulan
1.      Algoritma adalah sebuah urutan cara penyelesaian sebuah masalah dan juga pengambilan keputusan yang dapat dimanfaatkan untuk menjalankan suatu program.
2.      Algoritma tidak dapat di buat secara tidak pasti, karena dibutuhkaan algoritma yang baik dan sistematis untuk menghasilkan output yang tepat.
3.      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.

B.     Saran
Berdasarkan pembahasan diatas dapat diketahui bahwa pemahaman tentang algoritma sangat penting. Oleh karena itu,beberapa hal yang dapat dilakukan:
1.      Memahami dengan baik tentang cara pembuatan algoritma
2.      Mempelajari pengaplikasian algoritma dengan sebaik-baiknya dengan cara membaca artikel, buku dan lain-lain


No comments: