Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Laporan Tubes

Unduh sebagai docx, pdf, atau txt
Unduh sebagai docx, pdf, atau txt
Anda di halaman 1dari 17

LAPORAN TUGAS BESAR

PRAKTIKUM ALGORITMA DAN PEMROGRAMAN


D’FREELANCE
Laporan ini disusun untuk memenuhi syarat mata kuliah Praktikum Algoritma dan
Pemrograman Program Studi S1 Teknik Elektro Universitas Telkom

Disusun oleh :
KELOMPOK 2 KELAS EL-45-05

Anggota :
1. Anas Malik Harits (1102210221)
2. Ivan Ronaldo Lumbanraja (1102213255)
3. Radya Putra Mahersa (1102210294)
4. Syifana Wulan Suci (1102213032)

FAKULTAS TEKNIK ELEKTRO


TELKOM UNIVERSITY
BANDUNG
2021
DAFTAR ISI

DAFTAR ISI....................................................................................................................................2
DAFTAR GAMBAR.........................................................................................................................3
DAFTAR TABEL..............................................................................................................................4
Bab I PENDAHULUAN..................................................................................................................5
1.1. Latar Belakang Masalah................................................................................................5
1.2. Batasan Masalah..........................................................................................................5
1.3. Rumusan Masalah........................................................................................................6
1.4. Tujuan dan Manfaat.....................................................................................................6
1.5. Deskripsi pembagian tugas kelompok secara detail dan persentasenya......................7
Bab II KAJIAN PUSTAKA...............................................................................................................8
2.1. Materi yang Mendukung..........................................................................................8
Bab III HASIL DAN ANALISIS.......................................................................................................14
Bab IV PENUTUP........................................................................................................................15
DAFTAR PUSTAKA.......................................................................................................................16
LAMPIRAN..................................................................................................................................17
DAFTAR GAMBAR

Gambar 2.1 Simbol-Simbol dan Fungsi pada Flowchart


Gambar 2.2 Mode fopen di Bahasa C
DAFTAR TABEL

Tabel 1.1 Pembagian Tugas


Bab I
PENDAHULUAN

A. Latar Belakang Masalah


Pekerjaan adalah suatu hubungan yang melibatkan dua pihak antara perusahaan
dengan para pekerja atau karyawan. Manusia perlu memiliki pekerjaan untuk
mendapatkan penghasilan untuk bertahan hidup. Pendapatan atau gaji tersebut
sebagai balas jasa dari pihak perusahaan atau pemberi kerja dan jumlahnya
tergantung dari jenis profesi yang dilakukan berdasarkan kontrak yang telah
disetujui oleh kedua belah pihak. Namun, di Indonesia lapangan pekerjaan tidak
sejalan dengan pertumbuhan masyarakat Indonesia. Hal tersebut dapat dilihat
dari jumlah pengangguran yang terus meningkat di Indonesia.Selain itu, ada
beberapa orang yang sudah memiliki pekerjaan namun ingin memiliki jam kerja
yang bebas. Hal tersebut dikarenakan jam kerja di Indonesia terbilang lama dan
memiliki banyak perarturan yang harus ditaati. Apabila tidak ditaati maka ada
konsekuensinya seperti pemotongan gaji.
Untuk mengatasi masalah-masalah tersebut ada yang dinamakan freelance.
Freelance atau pekerja lepas sangatlah berbeda dengan karyawan perkantoran,
perbedaan yang paling mencolok adalah terkait waktu kerja dan pendapatannya.
Saat ini, pekerjaan sebagai freelance sudah sangat diminati oleh banyak orang
karena beberapa jenis pekerjaan freelance memiliki prospek dan profit yang
tinggi. Pekerjaan freelance banyak diminati banyak orang salah satunya adalah
desainer. Untuk mencari pelanggan, seorang desainer biasanya akan
mempromosikan kemampuan dirinya. Seorang desainer sangat mudah
mendapatkan pelanggan hanya dengan menjadi member di sebuah platform.
Melihat penting dan besarnya peran sebuah platform dalam membantu para
freelancer mencari pelanggan atau klien kami memutuskan untuk membuat
program yang bertema D’Freelancer. Program D’Freelancer ini mengandung
fitur-fitur untuk membantu para freelence seperti terdapat menu jual dan beli.
Menu beli dapat menampilkan list jasa yang ditawarkan secara terurut sesuai
abjad dan dapat mencari jasa sesuai kategori dan kemudian membeli jasa. Selain
menu beli ada pula menu jual di mana kita dapat mendaftarkan jasa (berisi
deskripsi jasa yang ditawarkan, beserta kategori dan harganya) dan
pengumuman global yang berisi informasi pembeli jasa tersebut.

B. Batasan Masalah
Pembatasan suatu masalah digunakan untuk menghindari adanya penyimpangan
maupun pelebaran pokok masalah agar penelitian tersebut lebih terarah dan
memudahkan dalam pembahasan sehingga tujuan penelitian akan tercapai.
Beberapa batasan masalah dalam penelitian ini adalah sebagai berikut:
 Pada bagian akun admin terdapat fitur login dengan username dan password
yang sudah ditetapkan, lalu dapat membaca dan menghapus data dari
pencarian dan penyedia jasa, dan dapat melihat profil serta menghapus akun
user.
 Pada bagian akun user terdapat fitur registrasi (untuk membuat akun), login
dengan username dan password yang telah dibuat, dan menu jual beli. Di
mana pada menu beli dapat menampilkan list jasa, mencari jasa, dan
membeli jasa. Pada menu jual dapat mendaftarkan jasa dan pengumuman
global.

C. Rumusan Masalah 
Berdasarkan latar belakang masalah yang telah dijabarkan di atas maka rumusan
masalahnya adalah :
1. Apa saja fitur yang ditawarkan platform tersebut?
2. Bagaimana cara admin mengelola platform?
3. Bagaimana user dapat mengakses program untuk membuat menu jual-beli?

D. Tujuan dan Manfaat


Tujuan dari pembuatan program ini adalah memberikan fitur-fitur yang
mendukung para pengguna. Selain itu program ini juga dikelola oleh admin
yang akan menjaga agar sistem dalam platform berjalan dengan lancar tanpa
hambatan. Untuk bagian user bertujuan untuk membantu para freelance dalam
memasarkan jasa jual beli dalam platform. Selain itu, apabila tujuan tersebut
terwujud ada banyak sekali manfaat platform ini, salah satunya adalah dapat
membantu freelance dan pembeli untuk mencari tujuan atau keperluan mereka
masing-masing dengan mudah.

E. Deskripsi pembagian tugas kelompok secara detail dan persentasenya.

Anas Malik Ivan Ronaldo Radya Putra Syifana Wulan


Harits Lumbanraja Mahersa Suci
Tabel 1.1 Pembagian Tugas
Bab II
KAJIAN PUSTAKA

F. Materi yang Mendukung. 


G. Flowchart
Flowchart adalah suatu standar untuk menggambarkan suatu proses. Setiap
langkah dalam algoritma dinyatakan dengan sebuah simbol dan aliran setiap
langkah (dari suatu langkah ke langkah lain) dinyatakan dengan garis yang
dilengkapi panah. Berikut adalah simbol-simbol pada flowchart.

Gambar 2.1 Simbol-Simbol dan Fungsi pada Flowchart

H. Operasi Logika dan Percabangan


Operasi boolean adalah operasi logika yang hanya akan menghasilkan nilai
true atau false. Operasi ini sering digunakan dalam percabangan maupun
perulangan. Percabangan adalah metode pemilihan suatu aksi yang akan
dijalankan oleh program. Terdapat beberapa jenis percabangan, yaitu :
1. If
If juga disebut dengan control flow atau conditional control structure
karena program di dalamnya hanya akan dieksekusi jika kondisi
terpenuhi (hanya satu pilihan kondisi bernilai benar).
2. If-Else
Percabangan If-Else merupakan percabangan yang memiliki dua blok
pilihan. Blok pilihan pertama untuk kondisi benar, dan pilihan kedua
untuk kondisi salah (else).
3. If-Else-If
Percabangan ini merupakan percabangan yang memiliki lebih dari 2
kondisi benar. Ketika kondisi pertama tidak terpenuhi, maka program
akan menguji kondisi kedua, jika masih tidak terpenuhi, program akan
menguji kondisi-kondisi berikutnya sampai bertemu else (jika ada).
4. Switch Case
Switch case adalah percabangan kode program dimana kita
membandingkan isi sebuah variabel dengan beberapa nilai. Jika proses
perbandingan tersebut menghasilkan nilai true, maka block kode
program akan dijalankan.

I. Perulangan (Looping)
Perulangan dalam pemrograman digunakan untuk mengulangi sebuah blok
kode tertentu sampai memenuhi kondisi yang diinginkan. Berikut adalah
jenis-jenis perulangan dalam bahasa pemrograman C:
1. While loop
Pada metode ini, aksi akan dilakukan selama kondisi bernilai true dan
akan berhenti jika kondisi menjadi false. Pada perulangan ini jumlah
perulangan belum diketahui secara pasti.
2. Do while loop
Pada metode perulangan ini aksi akan dilakukan minimal satu kali, hal
ini disebabkan adanya pengecekan kondisi setelah aksi dilakukan untuk
pertama kali. Aksi akan terus dilakukan selama kondisi bernilai true dan
berhenti ketika kondisi bernilai false. Sehingga, meskipun kondisi
bernilai false, program akan tetap melakukan aksi sebanyak satu kali.
Pada perulangan ini jumlah perulangan belum diketahui secara pasti.
3. For loop
Pada perulangan ini jumlah perulangan telah diketahui dengan pasti
(Counted Loop). Perulangan ini digunakan jika kita sudah mengetahui
berapa perulangan yang akan dilakukan.
J. Fungsi
Fungsi merupakan subprogram yang sangat bermanfaat dalam
pemrograman, terutama untuk program besar. Fungsi adalah sebuah
potongan kode yang ditujukan untuk menjalankan tugas yang spesifik, tugas
tersebut membutuhkan informasi input yang disebut parameter dan biasanya
suatu fungsi akan mengembalikan sebuah nilai (return value). Dalam
penulisan fungsi diberikan nama/identifier, parameter formal (nilai masukan
yang diberi juga nama dan dijelaskan tipenya), dan dideklarasikan tipe dari
fungsi tersebut. Fungsi dapat dibuat sebelum atau sesudah penulisan
program utama. Bila dibuat sesudah penulisan main, maka harus menuliskan
prototype fungsi di bagian atas program.

K. Sorting
Sorting diartikan sebagai algoritma pengurutan. Banyak metode yang bisa
digunakan dalam mengurutkan data. Sorting dapat dilakukan dengan
ascending (pengurutan dari nilai terkecil ke nilai terbesar) dan descending
(pengurutan dari nilai terbesar ke terkecil). Berikut 4 metode sorting, yaitu :
1. Counting sort
Prinspi kerja dari counting sort adalah membuat array baru dengan range
sebanyak nilai minimum hingga maksimum dari array lama.
2. Selection sort
Prinsip kerja dari selection sort adalah mencari nilai ekstrim.
3. Insertion sort
Prinsip kerja dari insertion sort adalah mengurutkan bilangan-bilangan
yang telah dibaca dan berikutnya secara berulang akan menyisipkan
bilangan-bilangan dalam array yang belum terbaca ke sisi kiri array yang
telah terurut.
4. Bubble sort
Prinsip kerja dari bubble sort adalah membandingkan suatu data (data ke
i) dengan data disebelahnya (data ke i+1), tukar kedua data bila data
tersebut lebih besar dari data disebelahnya (pengurutan naik/ascending)

L. Searching
1. Sequential Search
Sequential search adalah metode pencarian yang paling sederhana,
dimana pencarian dilakukan secara terurut dari data pertama sampai data
yang dicari ditemukan. Data dibandingkan satu per satu dari awal sampai
data ditemukan atau tidak ditemukan.
2. Binary Search
Metode ini hanya dapat dilakukan pada kumpulan data yang sudah
diurutkan terlebih dahulu. Jika terdapat N buah data pada array A, data
yang akan dicari akan dibandingkan dengan data A[mid], dimana mid
adalah indeks tengah dari array A (low = 0, high = N-1, mid = (high +
low) div 2 atau (0+N-1) div 2).

M. File Sekuensial
File sekuensial digunakan agar hasil dari program yang tereksekusi dapat
disimpan secara permanen di dalam perangkat penyimpanan mana pun,
bukan sementara menghilang ketika program ditutup atau dihentikan.
Tujuannya adalah agar data yang sudah tersimpan dapat digunakan kembali.
Bahasa C menyediakan sebuah struktur yang dapat digunakan untuk
menyimpan semua informasi yang dibutuhkan untuk mengendalikan aliran
data suatu file, yaitu struktur FILE (sering disebut juga sebagai file handle)
dan dideklarasikan di dalam file header standard stdio.h. Struktur tersebut
akan menyimpan informasi aliran arus suatu file yang meliputi indikator
posisi file, sebuah pointer buffer (jika ada), sebuah indikator error yang
menyimpan ketika proses kesalahan baca/tulis terjadi, sebuah indikator end-
of-file yang menyimpan ketika akhir dari suatu file telah tercapai, serta
informasi lainnya yang dibutuhkan. Tahapan Operasi File Operasi pada file
meliputi tiga tahapan utama, yaitu :
1. Membuka/mengaktifkan file
Membuka File Sebelum file dapat diproses (dibaca atau ditulis), file
haruslah dibuka terlebih dahulu. Untuk keperluan ini, ada fungsi yang
bernama fopen. Berikut adalah mode dari fopen yang terdapat di dalam
bahasa C.

Gambar 2.2 Mode fopen di Bahasa C

Contoh dari penggunaan fungsi fopen.

fp = fopen (“TES.TXT”, “w”)


2. Memproses file
Pada saat file dibuka, file bisa diperlakukan sebagai file biner atau file
teks. File biner adalah file yang datanya diproses dalam bentuk blok-blok
memori yang terdiri dari byte, seperti memori pada RAM. Sedangkan,
file teks adalah file yang datanya akan diproses dalam bentuk karakter.
Sebuah file teks biasanya dipakai untuk menyimpan data bertipe karakter
atau string. Sedangkan, file biner biasanya dipakai untuk menyimpan
data kompleks, seperti struktur (struct) Hal yang dapat dilakukan untuk
bekerja dengan file biner adalah dengan menambah karakter tambahan,
yaitu “b” pada argumen mode dari fungsi fopen. Sementara itu, untuk
bekerja dengan file teks tidak perlu ditambahkan karakter apa pun di
dalamnya.
 File teks, Dengan r, w, a atau mode update dengan r+, w+, a+
 File biner, Dengan rb, wb, ab atau mode update dengan rb+, wb+,
ab+, atau r+b, w+b, a+b.

3. Menutup file
Untuk menutup file, ada fungsi yang bernama fclose. Bentuk umumnya
seperti berikut.
int fclose(FILE *stream);

a. FILE TEKS
1. Menulis dan Membaca Data String pada File Teks
Untuk menulis data string pada file, ingat bahwa fungsi printf biasa
digunakan untuk menulis ke layar, sedangkan fungsi fprintf dapat
digunakan untuk menulis pada file. Selanjutnya, untuk membaca data
string pada file, ada fungsi yang Bernama fgets. Berikut bentuk dasarnya
int fprintf(FILE * restrict stream, const char * restrict format, ...)
char *fgets(char * restrict s, int n, FILE * restrict stream);
2. Menambahkan Data pada File Teks
Metode untuk menambahkan data ke dalam file hampir sama dengan
metode untuk menulis data. Perbedaannya terdapat pada argumen
filemode di dalam fungsi fopen yang sedang dibuka oleh file. Sederhana
saja, ubah filemode “w” atau “w+” menjadi “a” atau “a+” untuk
menambahkan.

b. FILE BINER
1. Menulis dan Membaca Data pada File Biner
Ada dua fungsi untuk menulis atau membaca sebuah data dalam bentuk
blok memori (terdiri dari byte), misalnya untuk menulis tipe data apa pun
seperti float atau struct. Kedua fungsi tersebut dinamakan fread dan
fwrite. Berikut adalah bentuk dasarnya.
size_t fread(void * restrict ptr, size_t size, size_t nmemb, FILE *
restrict stream); size_t fwrite(const void * restrict ptr, size_t size, size_t
nmemb, FILE * restrict stream)
2. Menambahkan Data pada File Biner
Metode untuk menambahkan data ke dalam file biner hampir sama
dengan metode untuk menulis data. Tentu saja, gunakan filemode “wb”,
“wb+”, atau “w+b” untuk menulis dan “ab”, “ab+”, atau “a+b” untuk
menambahkan.
3. Mengakses File Biner Secara Acak
Bahasa C menyediakan fasilitas yang memungkinkan untuk membaca
dan menulis file secara acak dengan mengubah indikator posisi file.
Dengan adanya fasilitas ini, misalkan bahwa sebuah data yang berada di
tengah file akan dibaca, data tersebut dapat dibaca secara langsung tanpa
harus diakses satu per satu dimulai dari awal file. Untuk keperluan ini,
ada fungsi yang bernama fseek. Berikut bentuk dasarnya.
int fseek(FILE *stream, long int offset, int whence);
4. Menghapus Data dalam File Biner
Untuk menghapus data dengan benar, ada beberapa cara untuk
melakukannya. Tetapi hanya ada salah satu yang akan dijelaskan pada
modul ini. Berikut adalah prosedur yang benar untuk melakukannya.
a) Buka file utama dengan mode baca (read)
b) Buatlah file cadangan dan buka file tersebut dengan mode tulis
(write)
c) Salin semua data dari file utama ke dalam file cadangan, kecuali data
yang akan dihapus
d) Tutup file utama dan file cadangan
e) Hapus file utama
f) Ubah nama file file cadangan berdasarkan nama file file utama
Bab III
HASIL DAN ANALISIS

N. Deskripsi Program 
D’Freelance adalah program yang memudahkan para penyedia jasa dan orang
yang membutuhkan jasa dalam berbagai aspek pekerjaan (sesuai nama
programnya, freelancer). Di program tersebut terdapat bagian admin dan user.
Di mana pada bagian admin, kita dapat membaca serta menghapus data dari
pencarian dan penyediaan jasa serta dapat melihat profile dan menghapus akun
user. Pada bagian user pertama-tama ada bagian untuk registrasi untuk membuat
akun, lalu terdapat menu jual dan beli. Menu beli dapat menampilkan list jasa
yang ditawarkan secara terurut sesuai abjad dan dapat mencari jasa sesuai
kategori dan kemudian membeli jasa. Selain menu beli ada pula menu jual di
mana kita dapat mendaftarkan jasa (berisi deskripsi jasa yang ditawarkan,
beserta kategori dan harganya) dan pengumuman global yang berisi informasi
pembeli jasa tersebut.

O. Screenshot running program. 


P. Flowchart. 
Q. Analisis program (menjelaskan cara kerja program, dan menyebutkan
penyebab terjadinya error (jika ada error)). 
Bab IV
PENUTUP 

R. Kesimpulan
Program ini menggunakan banyak algoritma dan banyak sekali fungsi yang
digabung-gabungkan. Namun, program dapat berjalan dengan baik dan
mewujudkan tujuan yang ingin dicapai. Keinginan yang dicapai sesuai tujuan
dan manfaat yang terdapat pada bagian awal laporan ini. Program D’Freelance
ini berhasil membantu para freelancer untuk memasarkan dan mencari jasa-jasa
yang diperlukan. Selain itu admin juga dapat memantau atau mengetahui info-
info yang terdapat pada program ini dengan tujuan untuk terus menjaga
kelancaran program.

S. Saran (ditujukan kepada pihak terkait/berkepentingan tindak lanjut


hasil penelitian). 
Sedikit saran mungkin untuk pihak pembuat program, yaitu membuat program
dengan tampilan yang lebih menarik atau lebih rapih lagi. Namun, menyadari
pihak developer masih tergolong pemula, hal ini sangat dimaklumi dan
merupakan sebuah kemajuan pesat.
DAFTAR PUSTAKA

Modul Praktikum Alpro Semester Ganjil 2021-2022


LAMPIRAN

Anda mungkin juga menyukai