Langsung ke konten utama

Pengembangan Konsep Algoritma Web Server Dinamis


Saat Anda pertama kali mulai belajar bahasa pemrograman, terdapat banyak hal yg wajib dipelajari sebelum kalian menciptakan aplikasi pertama Anda. Berpikir misalnya seseorang programmer bisa membantu memecah kasus sebagai prosedur pemecahan buat menyelesaikannya. Algoritma merupakan langkah-langkah yang diambil kode kalian buat memecahkan kasus atau menjawab pertanyaan.

Ini sebagai tantangan bila Anda seseorang programmer pemula buat berpikir misalnya seseorang programmer semenjak awal. Menerjemahkan ide aplikasi ke kode sebenarnya membutuhkan beberapa latihan.

Untuk menjembatani antara apa yang ingin aplikasi Anda lakukan dan kode yang akan ditulis, Anda bisa memakai pseudocode.

Jadi, sebelum menulis sebuah statement yang mampu dipahami oleh komputer, kita terlebih dahulu wajib mampu menciptakan statement yg mampu dipahami oleh manusia. Pernah mendengar kata Pseudocode sebelumnya? Apa yang dimaksud menggunakan Pseudocode ? Berikut kita akan bahas pengertian Pseudocode.

 

Pengertian Pseudocode 

Pseudocode merupakan kata pada pemrograman buat menuliskan sebuah sintaks, statement, algoritma dan lainnya pada bahasa yg mampu dipahami oleh manusia. Sederhananya, pseudocode adalah bentuk representasi berdasarkan kode kita nantinya menggunakan versi yang human readable, bukan computer readable.

Pada dasarnya, pseudocode merupakan suatu bahasa yg memungkinkan para programmer buat berfikir terhadap suatu permasalahan yang wajib segera dipecahkan tanpa wajib memikirkan code atau syntax berdasarkan bahasa pemrograman tertentu. Dalam pseudocode tidak mempunyai aturan pada penulisan syntax-nya. Jadi pseudocode dipakai buat mendeskripsikan logika secara berurutan berdasarkan program tanpa berpikir terlebih dahulu bagaimana bahasa pemrogramannya.

Meskipun pseudocode memakai struktur bahasa pemrograman, pseudocode tidak akan mengikuti aturan penulisan pada bahasa pemrograman manapun. Kenapa begitu? Lantaran pseudocode ditulis hanya buat menciptakan seorang sebagai lebih gampang mengetahui sebuah algoritma.

Dengan begitu, pseudocode hanya kode yang menyerupai kode program saja dan tidak bisa dipahami atau dimengerti eksklusif oleh mesin personal komputer . Pseudocode bisa diolah oleh mesin personal komputer bila telah mengikuti aturan penulisan pada sebuah bahasa pemrograman. Misalnya memakai bahasa C, C++, Pascal, C#, Java, Golang dan lain sebagainya.

 

Tujuan dan Fungsi Pseudocode

Pseudocode memiliki fungsi yang bermanfaat buat mempermudah penulisan dan pemetaan menurut sebuah prosedur pemecahan . Lantaran dalam dasarnya, seseorang programmer sebelum menciptakan dan menjalankan sebuah program atau aplikasi, beliau terlebih dahulu wajib mempunya susunan atau memiliki pemecahan terhadap kasus yang akan beliau untuk umumnya diklaim menggunakan prosedur pemecahan.

Ya, sebelum menciptakan program, seseorang programmer wajib memahami prosedur pemecahan misalnya apa yang akan beliau pakai buat memecahkan masalanya. Dengan memakai penulisan pseudocode juga akan bisa diketahui serumit apa program yang nantinya akan dibentuk. Selain itu pseudocode juga memiliki fungsi yang lain. Berikut ini beberapa fungsi menurut pseudocode:

1.  Pseudocode mempunyai fungsi menjadi indera dokumentasi

2. Pseudocode bisa mempemudah penggunanya memahami dan memperjelas cara menuntaskan masalanya.

3. Pseudocode bisa membantu penggunanya dalam menuliskan sebuah prosedur pemecahan yg akan dibuatnya.

4. Pseudocode mempunyai aspek yang sangat ringkas dan gampang lantaran pseudocode tidak bergantung dalam suatu sistem eksklusif dan itulah yang menjadikannya prinsip utama menurut sebuah prosedur pemecahan.

Tujuan menurut pseudocode itu sendiri merupakan supaya manusia khususnya para programmer bisa dengan mudah memahami dibandingkan menggunakan bahasa pemrograman yang biasanya dipakai, terlebih lagi aspek pseudocode relatif ringkas & tidak mempunyai ketergantungan menggunakan suatu sistem eksklusif yang adalah prinsip utama pada sebuah prosedur pemecahan.

Pada biasanya, pseudocode dipakai didalam publikasi karya ilmiah atau buku yang mendokumentasikan menurut sebuah algortima. Pseudocode juga dipakai pada perencanaan pengembangan program personal komputer buat menciptakan sketsa atas struktur sebuah program sebelum program yang sebenarnya dibentuk atau ditulis.

 

Struktur Pseudocode

Umumnya pada penulisan Pseudocode dibagi kedalam 3 struktur atau bagian yaitu:

1. Judul – Umumnya dalam bagian judul diawali menggunakan penulisan “PROGRAM” yang lalu diikuti oleh nama algoritma.

2. Deklarasi – Bagian ini merupakan variabel yang dimiliki algoritma dideklarasikan. Variabel ini bisa beruba bilangat bulat, bilangan pecahan, karakter, boolean dan lain sebagainya.

3. Algoritma – Ini merupakan bagian yang berisikan sekumpulan perintah algoritma . Perintah algoritma bisa berupa perulangan, kondisional ataupun runtutan. 


Pengertian Flowchart

Apakah kamu memahami kata flowchart? Kata flowchart sudah sering kamu dengar, terlebih lagi apabila kamu sering membangun sebuah program. Flowchart merupakan sebuah diagram yang mengungkapkan alur proses berdasarkan sebuah program. Dalam membentuk sebuah program flowchart berperan penting untuk menerjemahkan proses berjalannya sebuah program supaya lebih gampang untuk dipahami. Nah, apa fungsinya, simbol yang sering kali digunakan dan bagaimana contohnya? Berikut ini merupakan penjelasannya.

Flowchart atau bagan alur merupakan diagram yang menampilkan langkah-langkah & keputusan untuk melakukan sebuah proses berdasarkan suatu program. Setiap langkah digambarkan pada bentuk diagram & dihubungkan menggunakan garis atau arah panah.

Flowchart berperan penting pada menetapkan sebuah langkah atau fungsionalitas berdasarkan sebuah proyek pembuatan program yang melibatkan banyak orang sekaligus. Selain itu dengan memakai bagan alur proses berdasarkan sebuah program akan lebih jelas, ringkas, & mengurangi kemungkinan untuk galat  penafsiran. Penggunaan flowchart pada global pemrograman juga adalah cara yang indah untuk menghubungkan antara kebutuhan teknis & non-teknis.


Fungsi Flowchart

Fungsi utama dari flowchart merupakan memberi gambaran jalannya sebuah program dari satu proses ke proses lainnya. Sehingga, alur program menjadi gampang dipahami oleh seluruh orang. Selain itu, fungsi lain dari flowchart merupakan untuk menyederhanakan rangkaian prosedur supaya memudahkan pemahaman terhadap informasi tersebut.


Jenis Flowchart

Flowchart sendiri terdiri berdasarkan 5 jenis, masing-masing jenis mempunyai ciri pada penggunaanya. Berikut merupakan jenis-jenisnya: 

1. Flowchart dokumen
    Pertama terdapat flowchart dokumen (document flowchart) atau mampu juga disebut dengan paperwork flowchart. Flowchart dokumen berfungsi untuk menelusuri alur form berdasarkan satu bagian ke bagian yang lain, termasuk bagaimana laporan diproses, dicatat, & disimpan. 

2. Flowchart program
    Selanjutnya kita akan membahas flowchart program. Flowchart ini mendeskripsikan secara rinci mekanisme berdasarkan proses program. Flowchart program terdiri berdasarkan 2 macam, antara lain: flowchart logika program (program logic flowchart) & flowchart program personal komputer  terinci (detailed computer program flowchart).

3. Flowchart proses
    Flowchart proses merupakan cara penggambaran rekayasa industrial menggunakan cara merinci & menganalisis langkah-langkah selanjutnya pada suatu mekanisme atau sistem. 

4. Flowchart sistem
    Yang keempat terdapat flowchart sistem. Flowchart sistem merupakan flowchart yang menampilkan tahapan atau proses kerja yang sedang berlangsung di dalam sistem secara menyeluruh. Selain itu flowchart sistem juga menguraikan urutan berdasarkan setiap mekanisme yang terdapat di dalam sistem.

5. Flowchart skematik
    Terakhir terdapat flowchart skematik. Flowchart ini menampilkan alur mekanisme suatu sistem, hampir sama menggunakan flowchart sistem. Namun, terdapat perbedaan pada penggunaan simbol-simbol dalam mendeskripsikan alur. Selain simbol-simbol, flowchart skematik juga memakai gambar-gambar personal komputer  dan peralatan lainnya untuk mempermudah dalam pembacaan flowchart untuk orang awam.


Simbol Flowchart

Pada dasarnya simbol-simbol pada flowchart mempunyai arti yang berbeda-beda. Berikut merupakan simbol-simbol yang sering digunakan pada proses pembuatan flowchart.


Simbol-simbol di atas mempunyai jenis & fungsi yang berbeda-beda. Ada yang berfungsi untuk menghubungkan satu simbol menggunakan simbol lainnya misalnya simbol flow, on-page & off-page reference. Selain itu terdapat pula simbol yang berfungsi untuk menunjukan suatu proses yang sedang berjalan, & yang terakhir masih ada simbol yang berfungsi untuk memasukan input & menampilkan output.


 

Flowchart & Pseudocedo Web Server Dinamis

Berikut ini merupakan flowchart dan pseudocedo dalam penulisan dari code 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:

https://aderoni.com/pemrograman/pengertian-pseudocode/

https://www.nesabamedia.com/pengertian-pseudocode/ 

https://www.dicoding.com/blog/flowchart-adalah/

Komentar

Postingan populer dari blog ini

Pembelajaran Dasar React Bagi Pemula

  Apa itu Reactjs? Reactjs adalah sebuah library yang dibuat oleh Facebook untuk membuat UI (user interface) pada Web Mobile juga. Banyak orang menyebutnya sebagai framework , namun secara teknis.. Reactjs bukanlah sebuah framework. Melainkan sebuah library untuk membuat UI.   Oke, mari kita coba membuat aplikasi dengan Reactjs pertama kita buat file html biasa dengan nama hello-world.html , di dalam body kita akan menampilkan teks. <! DOCTYPE html > < html > < head > < meta charset = "utf-8" /> < title > Belajar Reactjs </ title > < script src = "https://unpkg.com/react@16/umd/react.production.min.js" >      </ script > < script src = "https://unpkg.com/react-dom@16/umd/react-dom.production      .min.js" ></ script > < script src = "https://unpkg.com/babel-standalone@6.15.0/babel.min.js" >      </ script > </ head > < bod...

Penambahan Function Pop Up Edit Toko di NextJS

      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 ...

Pembuatan halaman Home dengan NextJS

      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 ...