Kamis, 15 Juli 2021

TUGAS MANDIRI 3

NAMA : ROTUA SARTIKA SITOMPUL

JURUSAN : SISTEM INFORMASI S1

KELAS : MALAM


SOAL:


Sebuah perusahaan mempunyai data-data biodata karyawan berupa nama, umur, golongan, dan

gaji pokok. Biodata karyawan tersebut dibutuhkan untuk kegiatan operasional perusahaan. Ada 4

Golongan dalam perusahaan tersebut yaitu golongan A sampai D. Golongan A dimulai dengan gaji Rp.

1.500.000,- kemudian berlipat Rp. 500.000 di setiap golongan. Perusahaan kemudian berkonsultasi

dengan mu mengenai sebuah program komputer.

1 Program yang sudah ada, diminta update untuk bisa menerima masukan siapapun yang bisa

menjadi karyawan. Masukkan biodata kamu yang menjadi karyawan !




2 Perusahan membuat kebijakan baru yaitu memberi tambahan gaji untuk lembur sebesar

Rp. 50.000 per jam. Hitung total gaji bulanan seorang karyawan golongan B jika seorang karyawan

tersebut mendapatkan lembur 2 jam selama 3 hari dan 1 jam selama 7 hari.

Jawab:


1.


















2.






.Perusahaan membuat kebijakan baru,yaitu memberi tambahan gaji untuk lembur sebesar Rp.50.000,-/jam.Hitung total gaji bulanan seorang karyawan golongan B jika seorang karyawan tersebut mendapatkan lembur 2 jam selama 3 hari dan 1 jam selama 7 hari.

  Pembahasan :


Gaji pokok karyawan Rp.1.500.000,-

Golongan B berlipat Rp.500.000,-

Total Gaji Golongan B = Rp.2.000.000,-

Karyawan lembur 2 jam x 3 hari = 6 jam

Karyawan lembur 1 jam x 7 hari = 7 jam

Total Lembur = 13 jam

Uang lembur Rp.50.000,- = 0.025 x Rp.2.000.000,-


Program : 




Sabtu, 10 Juli 2021

Tugas Mandiri 4

NAMA: ROTUA SARTIKA SITOMPUL

KELAS:MALAM

MATA KULIAH : DASAR PEMROGAMAN 1

METODE PENGUMPULAN : KERJAKAN DI BLOG MASING-MASING

BATAS WAKTU : JUM’AT, 28 MEI 2021 PUKUL 23:00 WIB





SOAL:

1 Jelaskan apa itu percabangan, metode if else if dan switch case !


Jawab:


*If

Berfungsi untuk menentukan perintah mana yang akan digunakan dalam artian jika pernyataan tersebut bernilai benar maka akan dijalankan perintahnya. Jika salah maka tidak dapat dijalankan.


*Contoh Program :





*Outputnya



*If…Else

Berfungsi melibatkan pernyataan majemuk yaitu pernyataan A dan B. Jika pernyataan bukan merupakan pernyataan A, maka yang akan dijalankan merupakan pernyataan.

*Contoh program nya


*Outputnya


  *Switch case

Pernyataan switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan banyaknya alternatif dalam suatu masalah. Kegunaan switch-case sebagai pengganti if-else majemuk yang apabila dalam suatu masalah if-else majemuk tidak dapat menangani maka diganti dengan switch-case. Sederhananya jika if-else majemuk tidak dapat menyelesaikan masalah yang banyak alternatif maka kita menggunakan switch-case untuk menyelesaikannya.


Penggunaan khusus switch-case sebenarnya adalah untuk memeriksa data yang bertipe integer atau karakter.


Contoh Program :



Perbedaan If- Else dan Switch Case.

Switch, kondisi hanya dinyatakan dengan bilangan bulat atau karakter/string sedangkan IF-ELSE yang dapat menggunakan operasi seperti <, >, <= dan >=.

Tidak ada konstanta yang sama dalam sebuah switch.

Angka yang digunakan harus berkisar diantara 0 – 255.

Harus menggunakan break, Gunanya untuk mengakhiri statement.

Ada default, ini bisa dibilang sebagai ‘Else’nya Switch Case.



2.Sebuah program mengharuskan seseorang menggunakan id:admin dan password:123 untuk dapat masuk ke dalam programnya. Buatlah flowchartnya serta penerapan sederhana terhadap

kodenya !


Jawab:


Buat Kolom Username dan Password

paling tidak, ada tiga tag yang digunakan untuk membuat kolom username dan password. Anda akan membutuhkan tag: <label>, <input type>, dan <br> . Kita akan membahasnya satu per satu.



Tag <label> berfungsi untuk memberi keterangan teks pada form halaman.


<label>Masukkan teks</label>



Setelah label jadi, berikutnya membuat kolom input dengan tag <input type> . Kolom input yang memungkinkan pengguna memasukkan informasi yang diperlukan, seperti username dan password.


<input type="text">




Nah bicara tentang tag <input type>, ada dua tipe yang akan kita gunakan pada form login. Pertama, ketik=teks . Tipe ini akan menampilkan tulisan yang Anda ketikkan di kolom. Kedua, ketik=password . Menggunakan tipe ini, teks isian akan ditampilkan dalam bentuk karakter khusus, seperti dot.





Supaya sintaks Anda lebih rapi, silakan bubuhkan tag <br> di akhir setiap tag di atas. Tag <br> bekerja sebagai break atau penanda baris baru.


Contoh script lengkap seluruh tag ini dapat Anda lihat di bawah.


<!DOCTYPE HTML>

<html>

    <head>

        <title>Halaman Login</title>

        <link rel="stylesheet" href="style.css">

    </head>

   

    <body>

        <div class="container">

          <h1>Login</h1>

            <form>

                <label>Username</label><br>

                <input type="text"><br>

                <label>Password</label><br>

                <input type="password"><br>

            </form>

        </div>     

    </body>

</html>

Hasil jadinya dapat Anda lihat pada gambar berikut.






3 Buat kembali salah satu contoh program yang telah dipersentasikan dan jelaskan tiap kodenya !



Jawab:


Data karyawan kita bagi kedalam 4 golongan


Golongan 1 mempunyai gaji pokok sebesar Rp.1.486.500 dan tunjangan pengabdian sebesar Rp. 250.000.

Golongan 2 mempunyai gaji pokok sebesar Rp. 1.926.000 dan tunjangan pengabdian sebesar Rp. 300.000

Golongan 3 mempunyai gaji pokok sebesar Rp. 2.456.700 dan tunjangan pengabdian sebesar Rp. 350.000

Golongan 4 mempunyai gaji pokok sebesar Rp. 2.899.500 dan tunjangan pengabdian sebesar Rp. 400.000


Untuk jam kerja normal karyawan dalam sebulan adalah 173 jam, apabila lebih dari itu maka akan dihitung sebagai lembur. Bayaran lembur perjam adalah Rp.20.000. Setiap karyawan akan dikenakan pajak sebesar 0.5% untuk gaji pokok dan lemburnya.


Program Menghitung Gaji Karyawan C++




#include <iostream>

#include <conio.h>

#include <string>

using namespace std;

int main()

{

   string nama[10];

   int jum, gol[10],jkerja[10],jlembur[10];

   int gapok[10],glembur[10],tun_pengabdian[10],pajakgapok[10],pajaklembur[10],totpajak[10],gajibersih[10];

   cout<<"Masukan Jumlah Karyawan : ";

   cin>>jum;

   cout<<endl;

   for (int i=1;i<=jum;i++){

        cout<<"KARYAWAN KE-"<<i<<endl;

 cout<<"Masukan Nama : ";

 cin>>nama[i];

 cout<<"Masukan Golongan : ";

 cin>>gol[i];

 cout<<"Masukan Jumlah Jam Kerja : ";

 cin>>jkerja[i];

 switch (gol[i]){

  case 1 : 

   gapok[i]=1486500;

   tun_pengabdian[i]=250000;

   break;

  case 2 :

   gapok[i]=1926000;

   tun_pengabdian[i]=300000;

   break;

  case 3 :

   gapok[i]=2456700;

   tun_pengabdian[i]=350000;

   break;

  case 4 :

   gapok[i]=2899500;

   tun_pengabdian[i]=400000;

   break;

  default :

   gapok[i]=0;

   tun_pengabdian[i]=0; 

 }

 if (jkerja[i]>173){

     jlembur[i]=jkerja[i]-173; 

 }else{

      jlembur[i]=0;

 }

 glembur[i]=jlembur[i]*20000;

 pajakgapok[i]=0.05*gapok[i];

 pajaklembur[i]=0.05*glembur[i];

 totpajak[i]=pajakgapok[i]+pajaklembur[i];

 gajibersih[i]=((gapok[i]+tun_pengabdian[i]+glembur[i])-totpajak[i]);

 cout<<endl;

 }

 cout<<"PROGRAM MENGHITUNG GAJI KARYAWAN"<<endl;

  cout<<endl;

 for (int i=1;i<=jum;i++){

  

  cout<<" KARYAWAN KE-"<<i<<endl;

  cout<<"Nama : "<<nama[i]<<endl;

  cout<<"Gaji Pokok : "<<gapok[i]<<endl;  

  cout<<"Gaji Lembur : "<<glembur[i]<<endl;

  cout<<"Pajak Gaji Pokok : "<<pajakgapok[i]<<endl;

  cout<<"Pajak Lembur : "<<pajaklembur[i]<<endl;

  cout<<"Total Pajak : "<<totpajak[i]<<endl;

  cout<<"Tunjangan Pengabdian : "<<tun_pengabdian[i]<<endl;

  cout<<"Gaji Diterima : "<<gajibersih[i]<<endl;

  cout<<endl<<endl; 

 } 


getch();

}








Gaji pokok karyawan ditentukan dari inputan user karena setiap golongan mempunyai gaji dan tunjangan yang berbeda.


Apabila user memasukan jam kerja lebih dari 173 jam maka akan dihitung sebagai lembur. Upah lembur sebesar Rp.20.000/jam. Jadi misalnya Karyawan dengan nama arimurti memiliki jam kerja sebanyak 175 artinya bahwa dia lembur sebanyak 2 jam. Upah lembur yang diterima adalah Rp.40.000 namun akan dipotong pajak sebesar 0.5% yaitu sebesar Rp. 2.000 sehingga upah lembur yang diterima adalah Rp.38.000. Begitu juga dengan gaji pokoknya sebesar Rp.2.899.500 akan dipotong pajak 0.5% sehingga besaran potongannya adalah Rp.144.975.Arimurti juga mendapat tunjangan sebesar Rp.400.000 sehingga total bersih gaji yang diterima adalah Rp.3.192.525

Kamis, 08 Juli 2021

TUGAS MANDIRI 6

 NAMA :ROTUA SARTIKA SITOMPUL

JURUSAN : SISTEM INFORMASI S1

KELAS : MALAM


SOAL


1 Buat lah 2 cara menginisialisasi array dengan jumlah elemen array sebanyak bulan lahirmu !



Jawab.




tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll)

nama_var_array : menyatakan nama variabel yang dipakai.

ukuran : menunjukkan jumlah maksimal elemen larik.


Coontoh:

char huruf[9];

int umur[20,];

int kondisi[2] = {0,1};

int arr_dinamis[] = {1,2,3};



Penjelasan contoh.

char huruf[9]: berarti akan memesan tempat di memori komputer sebanyak 9 tempat denganindeks dari 0-8, dimana semua elemennya bertipe data karakter semuanya.

Kalau satu karakter berukuran 1 byte, berarti membutuhkan memori sebesar 9

byte.int umur[10]: berarti akan memesan tempat di memori komputer sebanyak 10 tempat dengan

indeks dari 0-9, dimana semua elemennya bertipe data integer semuanya.Kalau satu integer berukuran 4 bytes, berarti membutuhkan memori sebesar 4 x10 = 20 bytes.int kondisi[2]: berarti akan memesan tempat di memori komputer sebanyak 2 tempat denganindeks 0-1, dimana semua elemennya bertipe data integer semuanya. Dan padacontoh di atas isi elemen-elemennya yang sebanyak 2 buah diisi sekaligus(diinisialisasi) yaitu pada elemen kondisi[0] bernilai 0, dan elemen kondisi[1]bernilai 1.int arr_dinamis[]:berarti mendeklarasikan array dengan ukuran maksimum array tidak diketahui,namun ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak 3elemen, yang isinya 1,2, dan 3. Ingat bahwa array dinamis tidak bisa dibuat

tanpa inisialisasi.Tanda [] disebut juga “elemen yang ke- “. Misalnya “kondisi[0]“ berarti elemen yang ke nol. Array yangsudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik

secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat

pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dandibiarkan kosong.


2 Program di bawah adalah contoh perulangan menggunakan for.

#include <stdio.h>

int main() {

 int i;

 for (i = 1; i < 5; ++i)

 {

 printf("%d \n", i);

 }

 return 0;

}

Ubahlah outpunya dengan tujuan untuk mengeluarkan semua elemen array yang telah dibuat

sebelumnya. Tips : untuk menghitung jumlah elemen array secara otomatis bisa menggunakan

kode berikut.

printf("Banyak elemen array: %d\n", (int) sizeof(array)/s


Jawab




Langkah 1 : int i = 0; di sini variabel i adalah tipe integer dan diinisialisasi ke '0'.

Langkah 2 : untuk(; i<=5; i++); variabel i=0 sudah ditetapkan pada langkah sebelumnya. Titik koma di akhir for loop ini memberi tahu, "tidak ada lagi pernyataan di dalam loop".


Loop 1 : di sini i=0 , kondisi di for(; 0<=5; i++) loop terpenuhi dan kemudian i bertambah dengan '1'(one)

Loop 2 : di sini i=1 , kondisi di for(; 1 <=5; i++) loop memenuhi dan kemudian saya bertambah dengan '1'(satu)

Loop 3 : di sini i=2, kondisi di for(; 2<=5; i++) loop terpenuhi dan kemudian i bertambah dengan '1'(one)

Loop 4 : di sini i=3 , kondisi di for(; 3<=5; i++) loop memenuhi dan kemudian saya bertambah dengan '1'(satu)

Loop 5 : di sini i=4 , kondisi di for(; 4<=5; i++) loop memenuhi dan kemudian saya bertambah dengan '1'(satu)

Loop 6 : di sini i=5 , kondisi di for(; 5<=5; i++) loop terpenuhi dan kemudian i bertambah dengan '1'(one)

Loop 7 : di sini i=6 , kondisi di for(; 6<= 5; i++) loop gagal dan i tidak bertambah.

Langkah 3 : printf("%d", i); di sini nilai i adalah 6. Oleh karena itu outputnya adalah '6'.




Dalam C ketika ekspresi diakhiri dengan titik koma (;) itu menjadi pernyataan. Tetapi ketika kita hanya menempatkan titik koma (;), itu disebut sebagai pernyataan NULL.


Penjelasan untuk masalah ini:


Nah pernyataan for(; i<=5; i++); akan diperlakukan sebagai


for(; i<=5; i++)

;


atau


untuk(; i<=5; i++)

{

;

}


Jadi ketika loop akan mulai, ia akan mengambil nilai awal sebagai 0 dan itu akan memeriksa kondisi (i<=5) karena kondisinya benar, ia akan mengeksekusi badan for loop tetapi karena itu pernyataan nol (;) itu tidak akan melakukan apa pun dan kontrol akan ditransfer ke ekspresi pembaruan (i++). Jadi ulangi langkah tersebut sampai nilai i menjadi 6.


Sekarang sebagai i=6 maka kondisi (i<=5) akan mengembalikan false dan kontrol akan melompat keluar dari loop for dan pernyataan berikutnya setelah loop for akan dieksekusi yaitu printf("%d", i);


Jadi itu akan mencetak nilainya sebagai 6 dan kemudian program akan berhasil dihentikan karena mengembalikan nol ke int main.



TUGAS MANDIRI 3

NAMA : ROTUA SARTIKA SITOMPUL JURUSAN : SISTEM INFORMASI S1 KELAS : MALAM SOAL: Sebuah perusahaan mempunyai data-data biodata karyawan berup...