Senin, 22 Juni 2015

Study Kasus - Menghitung gaji karwayan

Studi Kasus : Menghitung Gaji Karyawan

Permasalahan
Buatlah flowchart untuk dimasukkan oleh pengguna. Jumlah tunjangan dan jumlah gaji ditampilkan ke layar.

Contoh:
Masukkan nama karyawan
Pilih jenis jabatan
Tunjangan = Rp 3.000.000,-
Jumlah gaji = RP 8.000.000,-

Cara Penyelesaian Masalah
            Untuk mencari gaji tiap karyawan perlu di ketahui jabatan dari masing – masing karyawan, sehingga akan jelas berapa jumlah tunjangan mereka. Setelah itu akan di tambahkan ke dalam gaji pokok tiap karyawan. Jadi apabila di notasikan : gaji pokok + tunjangan = jumlah gaji

Struktur Data Yang Dibutuhkan
· GP sebagai konstanta yang didefinisikan bertipe data desimal dan bernilai
· K sebagai variabel yang menampung nama karyawan yang didefinisikan
bertipe data karakter (String)
· J sebagai variabel yang menampung jabatan karyawan yang didefinisikan bertipe desimal
· Tunjangan sebagai variabel penampung hasil
· Total sebagai variabel penampung hasil

INPUT DAN OUTPUT

Pada project yang saya buat kali ini memerlukan 1 imputan berupa nama karyawan,

Setiap karyawan telah memiliki gaji pokok sebesar Rp 2 juta rupiah. Akan tetapi pabrik ini memberikan tunjangan kepada tiap tiap karyawannya yang memiliki jabatan tertentu, seperti pegawai tetap dan pegawai tidak tetap, sedangkan apabila karyawan itu hanya memiliki jabatan sebagai staf TU atau OB. Maka dia tidak memiliki tunjangan gaji.

berikut gambar algoritmnya

Bab 2 - Algoritma dan Struktur Data

1. Tipe data biasanya digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur. Apabila kita membutuhkan tipe data yang belum tersedia, kita dapat mendefinisikan sendiri tipe data baru yang disebut enumerated type.
2. Jenis-Jenis Tipe Data

1.  Tipe Data Sederhana.

Merupakan tipe data dasar yang sering dipakai oleh program, meliputi:

a.  Integer (Bilangan Bulat).
Penggolongan tipe data integer tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan. Misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada sebagai longint(4 byte). Didalam kompilernya, Pascal menyediakan konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya didalam programnya tanpa harus terlebih dahulu mendefinisikannya. Contoh bilangan integer adalah: 34 6458 -90 0 1112.
B. Real (Bilangan Pecahan). 
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2.

d. Boolean (Logika)
Merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean,WordBool, dan LongBool. Tipe Boolean memakai memori paling kecil, sedangkan WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan Windows.

3. Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.

4. Variabel adalah suatu tempat untuk menampung data yang nilainya selalu berubah. Sedangkan,Konstanta adalah suatu tempat untuk menampung data yang nilainya selalu tetap dan tidak pernah berubah.
Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta.

5. Variabel adalah nama yang mewakili suatu elemen data seperti jenkel untuk jenis kelamin dan sebagainya.  sedangkan Konstanta adalah suatu nilai yang tetap didalam program
6. Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karna array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks.

7. Pengertian Stack atau Tumpukan adalah suatu stuktur data yang penting dalam pemrograman yang mempunyai sifat LIFO (Last In First Out), Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack. 
Stack (Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisipan dan penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di atas“ TOP dan Penghapusan selalu dilakukan pada TOP 

OPERASI-OPERASI/FUNGSI STACK Push : digunakan untuk menambah item pada stack pada tumpukan paling atas 
Pop       : digunakan untuk mengambil item pada stack pada tumpukan paling atas 
Clear     : digunakan untuk mengosongkan stack 
IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong 
IsFull     : fungsi yang digunakan untuk mengecek apakah stack sudah penuh 

 8. Queue pada Struktur Data atau antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisibelakang(rear), dan penghapusan(pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front). 

Queue atau antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First In First Out). 
Queue atau antrian banyak kita jumpai dalam kehidupan sehari-hari, ex: antrian Mobil diloket Tol, Antrian mahasiswa Mendaftar, dll. Contoh lain dalam bidang komputer adalah pemakaian sistem komputer berbagi waktu(time-sharing computer system) dimana ada sejumlah pemakai yang akan menggunakan sistem tersebut secara serempak.

Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail ( depan/front, belakang/rear). 
Karakteristik Queue atau antrian : 
1. elemen antrian 
2. front (elemen terdepan antrian) 
3. tail (elemen terakhir) 
4. jumlah elemen pada antrian 
5. status antrian Operasi pada Queue atau antrian 

1. tambah(menambah item pada belakang antrian) 
2. hapus (menghapus elemen depan dari antrian) 
3. kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak) 

9. Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan
hubungan yang bersifat hirarki (hubungan one to many) antara elemen-elemen, contoh penerapannya adalah ketika menggambar bagan silsilah keluarga, atau struktur organisasi


10. graph adalah struktur yang menggambarkan relasi antar obyek dari sebuah koleksi obyek. Contoh penerapannya adalah Contohnya informasi topologi dan jarak antar kota di suatu pulau

Tugas Bab 1 - Algoritma

1. Apakah yang dimaksud dengan algoritma?
·         Algoritma adalah subuah metode atau langkah langkah sistematis yang digunakan untuk menyelesaikan suatu masalah

2. Apa perbedaan antara algoritma dan program?
·         Algoritma merupakan metode penyelesaiannya sedangkan program adalah implementasi dari algoritma yang disusun

3. Suatu algoritma terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan, dan perulangan.
Jelaskan masing-masing!
·         Runtutan artinya dalam menyusun sebuah algortima, harus langkah demi langkah. Dikatakan beruntunan karena memilik lebih dari satu algortima. Jadi dalam penyusunannya harus berurutan langkah demi langkah tidak bisa di bolak balik, sehingga nantinya akan menjadi proses akhir yang sempurna.

·         Pemilihan artinya saat kita menyusun sebuah algoritma kadangkala terdapat suatu kejadian yang baru akan dikerjakan jika suatu kondisi tertentu telah terpenuhi, itu yang disebut dengan kondisi. Jadi ketika suatu kondisi berisi benar maka akan ada intruksi yang akan di kerjakan, begitu pula dengan sebaliknya.

·         Perulangan merupakan intruksi yang di kerjakan dengan berulang – ulang, jadi kita tidak perlu menuliskan semuanya kembali. Cukup dengan memberi intruksi untuk melakukan perulangan sebanyak dan selama beberapa kali.

4. Apa perbedaan antara program dan bahasa pemrograman?
·         Seperti keterangan di atas, program adalah barang jadi sedangkan bahasa pemograman adalah media yang di gunakan untuk membuat program jadi tersebut

5. Buatlah algoritma menulis dan mengirimkan surat!
·         Siapkan selembar kertas dan bulpoin serta amplob surat
·         Tulis pesan yang akan di kirim
·         Lipat dan masukan surat pada amplob
·         Kirim surat ke kantor pos

6. Buatlah algoritma mengambil uang di ATM!
  • Pergi ke ATM yang di tuju
  • Masukan kartu ATM
  • Masukan PIN
  • Masukan Nominal uang yang akan di ambil
  • Ambil uang
  • Ambil kartu ATM
  • Tinggalkan ATM

7. Buatlah algoritma membuat kopi yang rasa manis dan pahitnya pas menurut anda!
8. Buatlah algoritma untuk menghitung luas segitiga!
  • Diketahui alas dan tinggi sebuah segitiga
  • Gunakan rumus = a * t / 2 untuk mengghitungnya
  • Tampilkan hasil perhitungan luas segitiga
9. Buatlah algoritma untuk proses aktivitas dari pagi sampai malam!
  • Bangun pagi jam 04.00
  • Sholat subuh jam 04.15
  • Olaharga jam 05.00
  • Mandi 06.00
  • Kuliah jam 07.30
  • Pulang kuliah 13.00
  • Sholat dhuhur
  • Ngelesi (Kerja)  13.30 - 17.00
  • Sholat ashar 16.00
  • Pulang Ngelesi 17.00
  • Sholat maghrib 18.00
  • Sholat isya
  • Belajar 20.00
  • Tidur 22.00
10. Buatlah algoritma mengurutkan 3 bilangan acak!

  • Masukan beberapa bilangan secara acak, semisal a, b dan c
  • Identifikasi, apabila a lebih kecil dari pada b dan c maka a yang ditulis pertama, apabila b lebih besar daripada a dan lebih kecil daripada c maka b di tulus pada urutan kedua dan apabila c lebih besar daripada a dan b maka c di tulis di akhir
  • Tampilkan bilangan – bilangan tersebut