Langsung ke konten utama

Pengembangan Konsep Algoritma Web Server Dinamis

Pengertian Flowchart

Flowchart atau bagan alir adalah diagram yang menunjukkan langkah-langkah dan keputusan untuk menyelesaikan suatu proses dari suatu program. Setiap langkah direpresentasikan sebagai diagram dan dihubungkan oleh garis atau panah. 

Flowchart memainkan peran penting dalam menentukan tahap atau fitur dari proyek pemrograman yang melibatkan banyak orang. Selain itu, dengan menggunakan diagram alur proses program akan lebih jelas, lebih ringkas, dan mengurangi risiko salah tafsir. cara menghubungkan kebutuhan teknis dan non-teknis. 

Sebelum melanjutkan, saya ingin memberi tahu Anda sesuatu Di sini Anda dapat mempelajari lebih lanjut tentang diagram alur dalam Dicoding. Anda dapat menemukan materi ini dan belajar di Memulai Pemrograman Dasar untuk Menjadi Pengembang Perangkat Lunak.

Fungsi Flowchart

Fungsi utama dari flowchart adalah untuk memberikan gambaran tentang alur suatu program dari satu proses ke proses lainnya. Dengan cara ini, alur program menjadi mudah dipahami semua orang. Selain itu, fungsi lain dari flowchart adalah untuk menyederhanakan sejumlah prosedur agar informasi lebih mudah dipahami.

Jenis-Jenis Flowchart

Flowchart sendiri terdiri dari lima jenis, masing-masing jenis memiliki karakteristik dalam penggunaannya.

  • Flowchart Dokumen

Pertama-tama ada document flowchart atau bisa juga disebut document flowchart. Bagan alur dokumen melacak alur formulir dari satu bagian ke bagian lain, termasuk bagaimana laporan diproses, disimpan, dan diarsipkan.

  • Flowchart Program

Selanjutnya, kita akan membahas flowchart program. Flowchart ini merinci prosedur proses program. Ada dua jenis flowchart program, antara lain: lowchart logika program (program logic flowchart) dan flowchart program komputer terinci (detailed computer program flowchart).

  • Flowchart Proses

Flowchart adalah cara penggambaran rekayasa industrial secara terperinci dan menganalisis langkah selanjutnya dalam suatu prosedur atau sistem.

  • Flowchart Sistem

Yang keempat adalah flowchart sistem. Flowchart sistem adalah bagan alir yang menampilkan langkah-langkah atau proses kerja saat ini dalam sistem secara keseluruhan. Selain itu, flowchart sistem juga menggambarkan urutan dari setiap prosedur dalam sistem. itu adalah seni skema.

  • Flowchart Skematik

Terakhir ada flowchart skematik. Flowchart ini menunjukkan alur proses suatu sistem, hampir sama dengan flowchart sistem. Namun, terdapat perbedaan penggunaan simbol dalam deskripsi aliran. Selain simbol, diagram alur skematik juga memanfaatkan gambar komputer dan peralatan lain untuk membuat flowchart lebih mudah dibaca oleh orang awam.

Simbol Flowchart

Flowchart memiliki arti yang berbeda-beda. Berikut adalah simbol-simbol yang sering digunakan dalam proses pembuatan flowchart.

Simbol di atas memiliki jenis dan fungsi yang berbeda, referensi di luar halaman. Selain itu, ada juga simbol yang digunakan untuk menunjukkan proses yang sedang berlangsung, dan yang terakhir adalah simbol yang digunakan untuk memasukkan input dan menampilkan output.

Pengertian Pseudocode

Nama panggilan berarti tiruan dan code berarti kode yang berhubungan dengan perintah yang ditulis dalam bahasa pemrograman atau kode bahasa komputer. Jika diartikan secara longgar, pseudocode berarti tiruan atau tiruan dari kode bahasa pemrograman.

Pada dasarnya, pseudocode adalah bahasa yang memungkinkan programmer untuk memikirkan suatu masalah yang perlu segera diselesaikan tanpa harus memikirkan kode atau sintaks bahasa pemrograman tertentu. Dalam pseudocode, tidak ada aturan dalam penulisan sintaks. Jadi pseudocode digunakan untuk menggambarkan logika sekuensial program tanpa terlebih dahulu memikirkan bagaimana bahasa pemrogramannya. Pseudocode yang diterjemahkan ke dalam bahasa Indonesia disebut kode palsu. Ini berarti deskripsi algoritma pemrograman komputer yang menggunakan konvensi struktural bahasa pemrograman dan bertujuan untuk dapat dibaca oleh manusia, bukan mesin.

Pseudocode umumnya tidak menggunakan elemen – elemen detail yang tidak diperlukan untuk pemahaman manusia tentang suatu algoritma, seperti deklarasi variabel, kode, atau subrutin untuk sistem yang memiliki sifat-sifat tertentu.

Meskipun pseudocode menggunakan struktur bahasa pemrograman, pseudocode tidak akan mengikuti aturan penulisan dalam bahasa pemrograman apa pun. Mengapa?Karena pseudocode ditulis hanya untuk memberi seseorang pemahaman yang lebih baik tentang suatu algoritma.

Dengan cara ini, pseudocode hanyalah kode yang terlihat seperti kode program dan tidak dapat dipahami atau dipahami secara langsung oleh komputer. Pseudocode dapat diproses oleh komputer jika mengikuti aturan penulisan dalam bahasa pemrograman, seperti menggunakan C, C++, Pascal, C#, Java, Golang, dan lain sebagainya.


Fungsi Pseudocode

Pseudocode memiliki fungsi yang berguna untuk memudahkan penulisan dan pemetaan suatu algoritma. Karena dalam prakteknya, seorang programmer sebelum membuat dan menjalankan suatu program atau aplikasi, terlebih dahulu harus memiliki pemahaman atau memiliki solusi dari masalah yang akan dibuatnya, biasa disebut dengan algoritma.

Ya, sebelum membuat sebuah program, seorang programmer harus mengetahui algoritma apa yang akan dia gunakan untuk menyelesaikan masalah. Dengan menggunakan penulisan pseudocode, ia juga akan dapat mengetahui seberapa kompleks program tersebut nantinya. Selain itu, pseudocode juga memiliki fungsi lain. Berikut adalah beberapa fungsi pseudocode:

  1. Pseudocode berfungsi sebagai alat dokumentasi
  2. Pseudocode dapat memudahkan pengguna untuk memahami dan memperjelas cara menyelesaikan masalah.
  3. Pseudocode dapat membantu pengguna menulis algoritma yang akan dibangun.
  4. Pseudocode memiliki aspek yang sangat ringkas dan mudah karena pseudocode tidak bergantung pada sistem tertentu dan inilah yang menjadikannya prinsip dasar dari suatu algoritma.

Tujuan dari pseudocode itu sendiri adalah agar manusia khususnya programmer dapat dengan mudah memahami penggunaan bahasa pemrograman yang umum digunakan, apalagi tampilan dari pseudocode tersebut relatif ringkas dan tidak bergantung pada sistem tertentu yang menjadi dasarnya. prinsip suatu algoritma.

Biasanya, pseudocode digunakan dalam publikasi artikel ilmiah atau buku yang mendokumentasikan suatu algoritma. Pseudocode juga digunakan dalam perencanaan pengembangan program komputer untuk menggambarkan struktur program sebelum program yang sebenarnya dibuat atau ditulis.

Pseudocode tidak memiliki standar, program yang masih pseudocode tidak akan bekerja. Pseudocode mirip dengan program kerangka atau kerangka kerja program termasuk dummycode yang dapat dikompilasi tanpa kesalahan. Flowchart juga dapat dimasukkan sebagai alternatif grafis untuk pseudocode.


Struktur Pseudocode

Secara umum, struktur penulisan pseudocode dibagi menjadi 3 bagian. Berikut adalah struktur pseudocode:

  1. Bagian judul

Bagian judul ini berisi judul algoritma. Bagian ini biasanya diawali dengan kata “program” dan diikuti dengan nama algoritmanya. Biasanya, nama algoritma terdiri dari satu kata. , jika nama terdiri dari lebih dari satu kata tertulis. Artinya, jika terdiri dari lebih dari dua kata, spasi dihilangkan.

Berikut aturan penulisan nama judul:

  • Judul tidak boleh mengandung spasi.Spasi dapat diganti dengan karakter "_" (underscore).
  • Judul tidak boleh dimulai dengan angka.
  • Judul tidak boleh menggunakan istilah yang biasa digunakan sebagai kata kunci dalam bahasa pemrograman.
  • Judul boleh menggunakan huruf besar, huruf kecil dan kombinasinya sepanjang tidak melanggar aturan di atas.
    2. Bagian deskripsi

Seperti namanya, bagian deskripsi ini digunakan untuk mendefinisikan atau mendeklarasikan jenis-jenis variabel yang akan digunakan dalam proses algoritma. Dalam pemrograman komputer yang sama, ada beberapa variabel, seperti bilangan bulat, desimal, pecahan, dan lain sebagainya.

 

    3. Bagian implementasi

Bagian implementasi ini dapat disebut dengan main atau main part, yang merupakan bagian dari eksekusi suatu algoritma. Pada bagian ini terdapat rangkaian perintah algoritme, perintah tersebut dapat berupa sekuensial, kondisional atau iteratif.

Flowchart & Pseudocode Web Server Dinamis

Berikut ini merupakan flowchart dan pseudocode dari code program web server dinamis 

Pseudocode handle_request()

Deklarasi
Mulai
Request : string
Client_Connection : object
Request_message : message
Request_line : line
Words : request_line.split()
Method : word[0]
uri : word.strip[1]
http_version : word[2]

Implementasi
Client_Connection <= CALL RecV(1024).decode
Request_Message = request.split(“\r\n”)
Request_line = request_message[0]
Words = request_line.split()
Method = word[0]
Uri = word[1].strip(“/”)
Http_version = word[2]
if(uri == ''):
uri = 'index.html'
if(method == 'GET'):
response = handle_get(uri, http_version)
elif(method == 'POST'):
data = request_message[len(request_message)-1]
response = handle_post(uri, http_version,data)
return response

Pseudocode hendle_get()

Deskripsi
var uri, http_version, response_line, content_type, entity_header, file, message_body, crlf, response

Implementasi
uri <= uri
if(uri.exist = true and not uri.isdir= true)
    response_line <= http_version + “200 OK”.encode()
    content_type <= mimetype (uri).encode
    entity_header <= content_type.encode()
    file open uri
    message_body read file byte
    file close()
else
    response_line <= http_version + “404 Not Found”.encode()
    entity_header <= content_type:text/html.encode()
    message_body <= <h1>404 Not Found</h1>.encode()
crlf <= crlf
response <= response_line + \r \n entity_header+ \r \n + \r \n + message_body.encode()
return response

Pseudocode handle_post()

Deskripsi
var uri, http_version, data, response_line, content_type, entity_header, file, template, message_body, crlf, response, context

Implementasi
uri <= uri
if(uri.exist = true and not uri.isdir= true)
    response_line <= http_version + “200 OK”.encode()
    content_type <= mimetype (uri).encode
    entity_header <= content_type.encode()
    file open uri
    message_body read file
    file close()
    template <= Template(html)
    _POST <= {}
    for x in data.split('&'):
        y = x.split('=')
       _POST[y[0]]=y[1]
    context = {
       '_POST' : _POST
    }
else
    response_line <= http_version + “404 Not Found”.encode()
    entity_header <= content_type:text/html.encode()
    message_body <= <h1>404 Not Found</h1>.encode()
crlf <= crlf
response <= response_line + \r \n entity_header+ \r \n + \r \n + message_body.encode()
return response

Pseudocode Class Template

 

Deklarasi

Text : String

Context : Lib

int {m : text, kompile } : String

Kompile {m : text} : String

Render {In : Context, text } : String

 

Implementasi Limit

Self.tokens = self.compile (test)

 

Implementasi Kompile

token = [ ]

delimiter = re.compile {r`{%.(.*?)%}0. Re,DOTALL

for index, token in delimiter.split{text}

if index % 2 == 0

if token:

tokens.append((False, token.replace('%\}', '%}').replace('{\%', '{%')))

       else:

lines = token.replace('{\%', '{%').replace('%\}', '%}').splitlines()

indent = min([len(l) - len(l.lstrip()) for l in lines if l.strip()])

realigned = '\n'.join(l[indent:] for l in lines)

tokens.append((True, compile(realigned, '<tempalte> %s' % realigned[:20], 'exec')))

Return tokens

 

Implementasi Render

global_context = {}

if context:

update global_context

 

def emit(*args):

result.extend([str(arg) for arg in args])

def fmt_emit(fmt, *args):

result.append(fmt % args)

 

global_context['emit'] = emit

global_context['fmt_emit'] = fmt_emit

 

#run the code

result = []

for is_code, token in self.tokens:

if is_code:

    exec(token, global_context)

else:

    result.append(token)

return ‘’,join(result)


Referensi

Komentar

Postingan populer dari blog ini

Membuat Halaman Profil Konsumen Dengan NextJS & Bulma

Apa itu Next.js?  Next.js merupakan sebuah React framework yang dibentuk buat mengatasi kasus client-side rendering yang dimiliki React. Sebuah halaman website yang dibentuk memakai React ‘terasa ringan’ lantaran tampilan website sangat interaktif.  Selain itu, ketika data berubah, React menggunakan efisien akan mengupdate bagian menurut halaman website yang memang perlu diupdate tanpa perlu reload satu halaman penuh.  Untuk menerima itu seluruh, client wajib load seluruh file JavaScript sebelum konten halaman ditampilkan. apabila file JS relatif akbar maka ketika yang diperlukan buat load pertama kali pula sebagai lebih lama.  Masalah lain menurut client-side rendering merupakan SEO, terdapat kemungkinan web crawler berusaha mengindex halaman yang belum terselesaikan dirender sepenuhnya (lantaran ketika load yang lama). Dan menduga web tadi blank.  Kedua kasus diatas bisa diselesaikan menggunakan teknik pre-rendering. Yaitu halaman HTML dan file JavaScript pada...

Membuat Database Menggunakan Aplikasi Excel ~ Part 4

Pengertian Normalisasi Database Normalisasi database adalah proses pengelompokan atribut data yang membentuk entitas sederhana, nonredundant, fleksibel, dan mudah beradaptasi. Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik. Tujuan Normalisasi Database Tujuan utama dari normalisasi database adalah: Menghilangkan dan mengurangi redudansi data. Memastikan dependensi data (data berada pada tabel yang tepat). Jika sebuah database belum dinormalisasi, kemungkinan terburuk yang akan merugikan sistem adalah: INSERT Anomali Situasi dimana tidak memungkinkan untuk memasukkan beberapa jenis data secara langsung di database. UPDATE Anomali Situasi dimana nilai yang diubah mengakibatkan ketidakkonsistenan database, artinya data yang diubah tidak sesuai dengan yang diinginkan. DELETE Anomali Penghapusan data tidak sesuai yang diharapkan, artinya data yang seharusnya tidak terhapus malah terhapus. Pada proses normalisasi terhadap tabel pada database dapat dilakukan dengan tiga ...

Design Sprint Alur Fitur Dari Wlijo

Design Sprint Fitur Wlijo      Wlijo adalah platform yang menghubungankan antara petani, pedagang sayur dan konsumen melalui aplikasi belanja sayur online. Saat ini wlijo masih dalam tahap pengembangan dan perbaikan. Untuk membantu proses pengembangan wlijo agar bisa selesai sesuai waktu yang ditargetkan diperlukannya sebuah metode efektif yakni metode design sprint. Apa Itu Metode Desain Sprint ?     Design sprint merupakan sebuah metode 5 langkah kerja untuk membantu perusahaan agar dapat membuat suatu produk berdasarkan design thinking dengan waktu lima hari. Design thinking sendiri merupakan proses yang mencakup proses strategis, kognitif, dan praktis. Design sprint sendiri dibuat pada tahun 2010 oleh seseorang yang berasal dari Google Venture bernama Jake Knapp. Sampai saat ini, sudah banyak perusahaan yang memakai design tersebut sampai keseluruh dunia.      Konsep kerjanya yaitu menggunakan waktu selama lima hari untuk membangun suatu ...