BAB I PENDAHULUAN 1.1
Latar Belakang
Pemrograman Dasar adalah pemrograman yang memberikan dasar-dasar logika dimana sintak-sintak yang diberikan bersifat universal dan lebih mengedepankan pembentukan pola pikir seseorang tentang bagaimana membuat sebuah program yang yang efektif dan efisien. Dalam makalah ini berisikan tentang bagaimana kami dapat membuat sebuah program yang bertemakan “ Penggajian “ dengan judul program “ Slip Penggajian Karyawan PT Budi Luhur “. Program yang kami buat untuk menampilkan contoh penggajian karyawan dengan menggunakan prosedur menggunakan prosedur judul, label, looping, dan proses percabangan majemuk. Dimana majemuk. Dimana akan dioperasikan oleh perusahaan atau kantor untuk menghitung gaji para karyawannya. Program ini dibuat untuk memudahkan perusahaan atau kantor untuk menghitung gaji karyawannya di perusahaan atau kantornya masing-masing tanpa harus menghitung gaji secara manual. 1.2
Tujuan
Tujuan disusunnya makalah ini adalah untuk menyelesaikan salah satu tugas mata pelajaran yang khususnya mata pelajaran Dasar Pemrograman I sekaligus tugas pengganti UTS dan akan dikembangkan lagi untuk tugas akhir semester. Selain itu, penulis berharap dibuatnya makalah ini tidak hanya untuk tugas s emata tetapi bisa mempelajari mempelajari ilmu pengetahuan yang khususnya Dasar Pemrograman Pemrograman I ini. Harapan penulis yaitu semoga makalah ini tidak hanya bermanfaat bagi penulis akan tetapi sangat-sangat bermanfaat khususnya juga bagi para pembaca atau kita semua yang membutuhkan untuk referensi ataupun salah satu 2 sarana untuk menambah wawasan dalam hal ilmu pengetahuan yang khususnya Dasar Pemrograman I Semoga makalah ini bisa bermanfaat bagi penulis khsususnya dan kita semua amiin.
1
BAB II LANDASAN TEORI 2.1
Pengertian Pengertian C++ C++ adalah bahasa pemrograman komputer pemrograman komputer yang di buat oleh (Bjarne Stroustrup)
merupakan perkembangan dari bahasa c dikembangkan di Bell di Bell Labs (Dennis Ritchie) Ritchie) pada awal tahun 1970-an, bahasa itu diturunkan dari bahasa sebelumnya, yaitu bcl, pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem unix, sistem unix, pada
perkembangannya,
versi
ANSI
(american
national
standart
institute) bahasa institute) bahasa
pemrograman c menjadi versi dominan, meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan jarin gan maupun untuk sistem siste m embedded, Bjarne Stroustrup pada Bell Labs pertama kali mengembangkan m engembangkan c++ pada awal 1980awal 1980-an, an, untuk mendukung fitur-fitur pada c++, dibangun dibangun efisiensi dan sistem support untuk untuk pemrograman pemrograman tingkat rendah (low level coding). Pada c++ ditambahkan konsep-konsep baru seperti class dengan class dengan sifat-sifatnya seperti inheritance inheritance dan overloading . salah satu perbedaan yang paling mendasar dengan bahasa c adalah dukungan terhadap konsep pemrograman berorientasi objek (object oriented programming ). Perbedaan antara bahasa pemrograman c dan c++ meskipun bahasa-bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki perbedaan, c merupakan bahasa pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi bagi masalah tersebut kedalam submasalah yang yang lebih kecil, selain itu, c++ merupakan merupakan bahasa pemrograman yang memiliki sifat sifat pemrograman berorientasi objek, objek, untuk menyelesaikan masalah, c++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari object-nya, setelah beberapa class dibuat kemudian masalah dipecahkan dengan class. 2.2
Tipe Data C++
Didalam program yang kami buat, kami hanya menggunakan menggunakan beberapa tipe data saja diantaranya adalah char, int, const, dan const, dan string string yang yang akan kami jelaskan secara singkat dibawah ini. 2.2.1
Tipe data char
Digunakan untuk menampung data sebuah karakter. Untuk menuliskan tipe char, karakter perlu ditulis di dalam tanda petik tunggal (‘). (‘). Contoh: ‘A ’karakter berupa berupa huruf A ‘1’ karakter ‘1’ karakter berupa angka 1 ‘*’ karakter ‘*’ karakter simbol * 2
2.2.2
Tipe data string
merupakan sekumpulan sekumpulan dari beberapa karakter, yang banyaknya banyaknya berubah-ubah sesuai kebutuhan,besarnya 1 s/d 255 karakter. Pemberian nilai String diapit dengan tanda petik ganda (“). (“). Bentuk umum penulisan tipe data ini adalah : tipe_data pengenal [panjang] ; pengenal = nama variabel panjang
= bilangan bulat yg menunjukan menunjukan jumlah karakter
Contoh : char nama[15] ; 2.2.3
Tipe data integer ( int )
Tipe data yang nilainya tidak memiliki titik desimal. Type
Batas Nilai
Ukuran Memory
Short int
-32768....327672 -32768....327672
2 Byte
Int
-32768....327672 -32768....327672
4 Byte
Long Unsigned Integer
2.2.4
-2147483678 ... 2147283647 0-65535
4 Byte 2 Byte
Tipe data konstanta ( const )
Sebuah variabel dengan tipe data tertentu dan memiliki nilai data yang akan selalu tetap didalam program. contoh: float phi; const phi = 3.14;
3
2.3
Operator aritmatika Operator Aritmatik & Matematik
ARTI
Pow
Pemangkatan
Sqrt
Menghitung akar
% * , / +,Operator = != > < == => <= 2.4
Sisa hasil bagi (Modulus) Perkalian , pembagian Penjumlahan , pengurangan Keterangan Sama dengan (assignemnt) Tidak sama dengan Lebih besar Lebih kecil Sama dengan (bukan assignment) Lebih besar atau sama dengan Lebih kecil atau sama dengan
Seleksi Kondisi 2.4.1 Perintah IF tunggal Sintak dari bentuk if tunggal adalah sebagai berikut:
if (kondisi) { pernyataan;} Bentuk ini menunjukkan bahwa jika kondisi tersebut dipenuhi, maka pernyataan dalam if akan dijalankan, sebaliknya jika kondisi tersebut tidak dipenuhi maka pernyataan dalam if juga tidak akan dijalankan. Berikut ini contoh contoh penggunaan bentuk bentuk if tunggal: 2.4.2 Bentuk if – else else Sintak dari bentuk if – if – else else adalah sebagai berikut :
if (kondisi) {pernyataan1;} else {pernyataan2;} Jika kondisi di dalam if dipenuhi,maka pernyataan1 dijalankan. Sebaliknya jika kondisi if tidak dipenuhi maka pernyataan2 baru dijalankan.
4
2.4.3
Bentuk if – else else majemuk
Penyeleksian akan dilakukan mulai dari kondisi yang pertama (kondisi1). Jika kondisi ini dipenuhi maka pernyataan yang mengikuti akan dijalankan (pernyataan1) dan seleksi kondisi dihentikan (kondisi-kondisi yang lain tidak akan diperiksa). Namun jika kondisi1 tidak dipenuhi maka seleksi kondisi langsung dilanjutkan ke kondisi2. Jika kondisi2 dipenuhi maka pernyataan2 dijalankan,namun jika tidak maka seleksi dilanjutkan ke kondisi3. Begitu seterusnya. jika semua kondisi tidak ada yang bernilai benar maka pernyataan yang ada di else yang akan dijalankan. Bentuk else sendiri bersifat optional,dapat tidak digunakan. Bentuk ini disebut juga sebagai bentuk bertingkat. Sintak dari bentuk ini adalah sebagai berikut: if (kondisi1) {pernyataan_1;} else if (kondisi2) {pernyataan_2;} else if (kondisi3) { pernyataan_3;} ... else {pernyataan_n;} 2.5
Statment go to (label)
Dalam bahasa pemrograman c++ memiliki statement goto yang digunakan agar program melompat ke baris yang telah ditentukan. Untuk menggunakan statement goto, maka diperlukan juga label untuk menandakan kemana program tersebut akan melompat. Label tersebut dapat di tulis seperti LABEL: atau nama-nama yang lain. Statement goto dapat di ditempatkan dimana saja sesuai dengan kebutuhan program. 2.6
Perulangan (looping)
Struktur pengulangan digunakan untuk mengulang suatu perintah sebanyak yang diinginkan. Untuk melakukan perintah dengan melakukan banyak perulangan akan lebih efisien apabila kita menggunakan perulangan. Ada beberapa perulangan dalam C++ yaitu : for,nested for,goto,while,do..while.
5
BAB III PEMBAHASAN 3.1
Rancangan masukan
SLIP PENGGAJIAN KARYAWAN PT. BUDI LUHUR ============================ Masukan nama karyawan Masukan NIP Status Nikah (Y/T) Golongan (1/2/3) Lama kerja Jumlah hari masuk kerja
: : : : : :
3.2
Pseudocode Pseudocode program
1. 2. 3. 4.
8. 9.
Masukan nama karyawan, Masukan NIP nya, Input status nikahnya, jika sudah menikah pilih “Y”, jika belum menikah pilih “T”, Input jenis golongan karyawannya, jika ia golongan 1 maka pilih “1“, jika ia golongan 2 maka pilih “2”, jika ia golongan 3 maka pilih “3”, Setelah itu, masukan berapa lama karyawan tersebut sudah bekerja untuk perusahaan, Masukan jumlah hari karyawan tersebut hadir dalam sebulan bekerja, Hitung total gaji = gaji pokok + tunjangan status nikah + tunjangan golongan + tunjangan trasnportasi + tunjangan dedikasi, Cetak total gaji, Selesai.
3.3
Rancangan keluaran
5. 6. 7.
Karyawan bernama Dengan NIP
: :
Gaji yang diterima Gaji pokok Tunjangan jabatan Tunjangan transportasi Tunjangan keluarga Tunjangan dedikasi
: Rp. : Rp. : Rp. : Rp. : Rp.
Total gaji
: Rp.
6
3.4
Ketentuan program SLIP PENGGAJIAN KARYAWAN PT. BUDI LUHUR
Nama : >>inputan NIP : >>inputan Status Nikah (Y/T) :>>inputan Golongan (1/2/3) : >>inputan Lama kerja : >>inputan Jumlah hari masuk kerja :>>inputan Ketentuan : 1. Menggunakan prosedur Menggunakan prosedur judul, label, looping l ooping dan proses percabangan majemuk. 2. Gaji pokok karyawan Rp. 1.500.000,-. 3. Masukan nilai tunjangan status nikah: jika sudah menikah, maka mendapatkan tunjangan sebesar Rp. 500.000,-. jika belum menikah, maka tidak mendapatkan tunjangan. 4. Masukan tunjangan golongan dan tunjangan trasnportasi, untuk tiap golongan: Jika golongan 1 Maka tunjangan golongan 5% dari gaji pokok, Maka tunjangan transportasi Rp.10000,- * jumlah hari masuk kerja. Jika golongan 2 Maka tunjangan golongan 10% dari gaji pokok, Maka tunjangan transportasi Rp.20000,- * jumlah hari masuk kerja. Jika golongan 3 Maka tunjangan golongan 15% dari gaji pokok, Maka tunjangan transportasi Rp.25000,- * jumlah hari masuk kerja. 5. Masukan tunjangan dedikasi dengan ketentuan : Jika lama kerjanya = 0 tahun maka tidak mendapatkan tunjangan dedikasi dari perusahaan, jika lama kerjanya ≥ 1 tahun maka mendapatkan tunjangan tunjangan dedikasi sebesar 10% dari total gaji pokok. 6. Jadi total gaji = gaji pokok+tunjangan golongan+tunjangan transportasi+ tunjangan status nikah+ tunjangan dedikasi atau disingkat total gaji= gaji+tgol+tt+ts n+tlk. Nama : <
: Rp. <
7
3.5
Listing program
#include #include #include #include judul () { cout<<"********************** cout<<"********************************* ********************** ********************** ********************** ************* ** *"; cout<<"\n SLIP GAJI KARYAWAN \n"; cout<<"\n\t PT. BUDI LUHUR \n"; cout<<"********************** cout<<"********************************* ********************** ********************** ********************** ************* ** *"; } main () { char nama[99],sn,lk, pilih, status, atas; int gol, tsn, total, tgol, tlk, tt,tb, hr, nip; const gaji=1500000;
atas: judul(); cout<<"\n"; cout<<"\n"; cout<<"Nama karyawan : ";gets(nama); cout<<"Masukan nomor induk karyawan : ";cin>>nip; cout<<"Status nikah (Y/T) : ";cin>>sn; cout<<"Golongan (1/2/3) : ";cin>>gol; cout<<"Lama kerja : ";cin>>lk; cout<<"Jumlah hari masuk kerja : ";cin>>hr; cout<<"\n"; clrscr(); //--------------------------------keluarga-------------------------------------if(sn=='y'|| sn=='Y'){ tsn=500000; } else if(sn=='t'|| sn=='T'){ tsn=0; } else { cout<<" salah "; 8
return(0); } //-----------------------------jabatan-------------------------------------if(gol==1){ tgol=0.05*gaji; tt=10000*hr; } else if(gol==2){ tgol=0.1*gaji; tt=20000*hr; } else if(gol==3){ tgol=0.15*gaji; tt=25000*hr; } else { cout<<" salah "; return(0); } //--------------------------lama kerja-------------------------------------if(lk==0){ tlk=0; } else if(lk>1){ tlk=0.1*gaji; } else { cout<<" salah "; return(0); } //-------------------------------------------------------------------------- judul(); cout<<"\n"; cout<<"Nama karyawan : "<<(nama); cout<<"\nNIP : "<
cout<<"\t\tGaji Pokok :Rp."<>pilih; if(pilih=='Y' || pilih=='y') {clrscr(); goto atas;} else {return(0);} getch (); }
10
3.6
Tampilan
Gambar 3.6.1 Input gaji karyawan
Gambar 3.6.2 Output gaji karyawan
11
BAB IV PENUTUP 4.1
Kesimpulan
Adapun beberapa kesimpulan yang dapat diambil adalah : 1. Dalam bahasa C++ semua hal yang berhubungan dengan sintaks harus diperhatikan secara seksama,hal ini dikarenakan sebuah program tidak akan bias running apabila salah satu sintaks itu missing. 2. Dalam membangun program kita harus memperhatikan huruf reverse word,variable,konstanta,dan lain-lain karena program C++ bersifat case sensitive (huruf kecil dan besar dianggap berbeda). 3. Struktur Data merupakan salah satu bahan dasar dasar pembuatan program. Pemakaian struktur data yang tepat didalam proses pemograman akan menghasilkan algoritma yang jelas dan tepat sehingga menjadikan program secara keseluruhan lebih sederhana. 4.2
Saran
1. Semoga makalah ini menjadi sebuah titik pendorong bagi pemula yang ingin belajar bahasa C++ secara mendalam. 2. Semoga makalah ini menjadi pegangan pembaca dalam memahami setiap sintaks umum yang ada pada bahasa C++. 3. Diharapkan makalah ini berguna dan dapat menjadi sarana pembelajaran oleh pembaca dan menjadi lebih paham mengenai program dan aplikasi lain pendukungnya.
12
REFERENSI 1. ZeinSoldier, “ Apa itu C++ ? “. http://zeinsoldieralgo17.blogspot.co.id/p/tipe-data.html ( Diakses pada tanggal 2 November 2017 ). 2. Silvyaningrum, Rizka Silvyaningrum, Rizka Putri. “ Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pemrograman “. https://www.slideshare.net/r https://www.slide share.net/rizkaputrisnr/pen izkaputrisnr/pendahuluan-pemba dahuluan-pembahasan-penutup-d hasan-penutup-danandaftar-pustaka-pembelian ( diakses pada tanggal 31 Oktober 2017 )
3. Ruang Mahasiswa BSI. 2017. Modul logika & algoritma pertemuan 3 tentang Konsep Tipe Data. Bogor: Bina Sarana Informatika.
13