Epstein Files Full PDF

CLICK HERE
Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
Flag Counter
  1. World Encyclopedia
  2. Anonymous function - Wikipedia
Anonymous function - Wikipedia
From Wikipedia, the free encyclopedia
(Redirected from Lambda (programming))
Function definition that is not bound to an identifier

In computer programming, an anonymous function (function literal, lambda function, or block) is a function definition that is not bound to an identifier. Anonymous functions are often arguments being passed to higher-order functions or used for constructing the result of a higher-order function that needs to return a function.[1] If the function is only used once, or a limited number of times, an anonymous function may be syntactically lighter than using a named function. Anonymous functions are ubiquitous in functional programming languages and other languages with first-class functions, where they fulfil the same role for the function type as literals do for other data types.

Anonymous functions originate in the work of Alonzo Church in his invention of the lambda calculus, in which all functions are anonymous, in 1936, before electronic computers.[2] In several programming languages, anonymous functions are introduced using the keyword lambda, and anonymous functions are often referred to as lambdas or lambda abstractions. Anonymous functions have been a feature of programming languages since Lisp in 1958, and a growing number of modern programming languages support anonymous functions.

Names

[edit]

The names "lambda abstraction", "lambda function", and "lambda expression" refer to the notation of function abstraction in lambda calculus, where the usual function f(x) = M would be written (λx.M), and where M is an expression that uses x. Compare to the Python syntax of lambda x: M.

The name "arrow function" refers to the mathematical "maps to" symbol, x ↦ M. Compare to the JavaScript syntax of x => M.[3]

Uses

[edit]
icon
This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (February 2018) (Learn how and when to remove this message)

Anonymous functions can encapsulate functionality that does not require naming and is intended for short-term or localized use. Some notable examples include closures and currying.

The use of anonymous functions is a matter of style. Using them is never the only way to solve a problem; each anonymous function could instead be defined as a named function and called by name. Anonymous functions often provide a briefer notation than defining named functions. In languages that do not permit the definition of named functions in local scopes, anonymous functions may provide encapsulation via localized scope, however the code in the body of such anonymous function may not be re-usable, or amenable to separate testing. Short/simple anonymous functions used in expressions may be easier to read and understand than separately defined named functions, though lacking a descriptive name may reduce code readability.

In some programming languages, anonymous functions are commonly implemented for very specific purposes such as binding events to callbacks or instantiating the function for particular values, which may be more efficient in a Dynamic programming language, more readable, and less error-prone than calling a named function.

The following examples are written in Python 3.

Sorting

[edit]

Many languages provide a generic function that sorts a list (or array) of objects into an order determined by a comparison function which compares two objects to determine if they are equal or if one is greater or less than the other. Using an anonymous comparison function expression passed as an argument to a generic sort function is often more concise than creating a named comparison function.

Consider this Python code sorting a list of strings by length of the string:

a: list[str] = ["house", "car", "bike"]
a.sort(key = lambda x: len(x))
print(a)
# prints ['car', 'bike', 'house']

The anonymous function in this example is the lambda expression:

lambda x: len(x)

The anonymous function accepts one argument, x, and returns the length of its argument, which is then used by the sort() method as the criteria for sorting.

Basic syntax of a lambda function in Python is

lambda arg1, arg2, arg3, ...: <operation on the arguments returning a value>

The expression returned by the lambda function can be assigned to a variable and used in the code at multiple places.

from typing import Callable

add: Callable[[int], int] = lambda a: a + a
print(add(20))
# prints 40

Another example would be sorting items in a list by the name of their class (in Python, everything has a class):

a: list[int | str] = [10, "number", 11.2]
a.sort(key=lambda x: x.__class__.__name__)
print(a)
# prints [11.2, 10, 'number']

Note that 11.2 has class name "float", 10 has class name "int", and 'number' has class name "str". The sorted order is "float", "int", then "str".

Closures

[edit]
Main article: Closure (computer programming)

Closures are functions evaluated in an environment containing bound variables. The following example binds the variable "threshold" within an anonymous function that compares input values to this threshold.

def comp(threshold: int) -> Callable[[int], bool]:
    return lambda x: x < threshold

This can be used as a sort of generator of comparison functions:

func_a: Callable[[int], bool] = comp(10)
func_b: Callable[[int], bool] = comp(20)

print(func_a(5), func_a(8), func_a(13), func_a(21))
# prints True True False False

print(func_b(5), func_b(8), func_b(13), func_b(21))
# prints True True True False

It would be impractical to create a function for every possible comparison function and may be too inconvenient to keep the threshold around for further use. Regardless of the reason why a closure is used, the anonymous function is the entity that contains the functionality that does the comparing.

Currying

[edit]
Main article: currying

Currying transforms a function that takes multiple arguments into a sequence of functions each accepting a single argument. In this example, a function that performs division by any integer is transformed into one that performs division by a set integer.

def divide(x: int, y: int) -> float:
    return x / y

def divisor(d: int) -> Callable[[int], float]:
    return lambda x: divide(x, d)

half: Callable[[int], float] = divisor(2)
third: Callable[[int], float] = divisor(3)

print(half(32), third(32))
# prints 16.0 10.666666666666666

print(half(40), third(40))
# prints 20.0 13.333333333333334

While the use of anonymous functions is perhaps not common with currying, it still can be used. In the above example, the function divisor generates functions with a specified divisor. The functions half and third curry the divide function with a fixed divisor.

The divisor function also forms a closure by binding the variable d.

Higher-order functions

[edit]

A higher-order function is a function that takes a function as an argument or returns one as a result. This technique is frequently employed to tailor the behavior of a generically defined function, such as a loop or recursion pattern. Anonymous functions are a convenient way to specify such function arguments. The following examples are in Python 3.

Map

[edit]
Main article: Map (higher-order function)

The map function performs a function call on each element of a list. The following example squares every element in an array with an anonymous function.

a: List[int] = [1, 2, 3, 4, 5, 6]
print(list(map(lambda x: x * x, a)))
# prints [1, 4, 9, 16, 25, 36]

The anonymous function takes an argument and returns its square. The above form is discouraged by the creators of the language, who maintain that the form presented below has the same meaning and is more aligned with the philosophy of the language:

a: List[int] = [1, 2, 3, 4, 5, 6]
print([x * x for x in a])
# prints [1, 4, 9, 16, 25, 36]

Filter

[edit]
Main article: Filter (higher-order function)

The filter function returns all elements from a list that evaluate True when passed to a certain function.

a: List[int] = [1, 2, 3, 4, 5, 6]
print(list(filter(lambda x: x % 2 == 0, a)))
# prints [2, 4, 6]

The anonymous function checks if the argument passed to it is even. The same as with map, the form below is considered more appropriate:

a: List[int] = [1, 2, 3, 4, 5, 6]
print([x for x in a if x % 2 == 0])
# prints [2, 4, 6]

Fold

[edit]
Main article: Fold (higher-order function)

A fold function runs over all elements in a structure (for lists usually left-to-right, a "left fold", called reduce in Python), accumulating a value as it goes. This can be used to combine all elements of a structure into one value, for example:

a: List[int] = [1, 2, 3, 4, 5]
print(functools.reduce(lambda x, y: x * y, a))
# prints 120

This performs

( ( ( 1 × 2 ) × 3 ) × 4 ) × 5 = 120. {\displaystyle \left(\left(\left(1\times 2\right)\times 3\right)\times 4\right)\times 5=120.} {\displaystyle \left(\left(\left(1\times 2\right)\times 3\right)\times 4\right)\times 5=120.}

The anonymous function here is the multiplication of the two arguments.

A fold does not necessarily produce a single scalar value; it can also generate structured results such as lists. Instead, both map and filter can be created using fold. In map, the value that is accumulated is a new list, containing the results of applying a function to each element of the original list. In filter, the value that is accumulated is a new list containing only those elements that match the given condition.

List of languages

[edit]

The following is a list of programming languages that support unnamed anonymous functions fully, or partly as some variant, or not at all.

The following table illustrates several common patterns. Notably, languages like C, Pascal, and Object Pascal—which traditionally do not support anonymous functions—are all statically typed languages. However, statically typed languages can support anonymous functions. For example, the ML languages are statically typed and fundamentally include anonymous functions, and Delphi, a dialect of Object Pascal, has been extended to support anonymous functions, as has C++ (by the C++11 standard). Second, the languages that treat functions as first-class functions (Dylan, Haskell, JavaScript, Lisp, ML, Perl, Python, Ruby, Scheme) generally have anonymous function support so that functions can be defined and passed around as easily as other data types.

This list is incomplete; you can help by adding missing items. (August 2008)
List of languages
Language Support Notes
ActionScript Green tickY
Ada Green tickY Expression functions are a part of Ada2012, access-to-subprogram[4]
ALGOL 68 Green tickY
APL Green tickY Dyalog, ngn and dzaima APL fully support both dfns and tacit functions. GNU APL has rather limited support for dfns.
Assembly languages Red XN
AHK Green tickY Since AutoHotkey V2, anonymous functions are supported with a syntax similar to JavaScript.
Bash Green tickY A library has been made to support anonymous functions in Bash.[5]
C Red XN Support is provided in Clang and along with the LLVM compiler-rt lib. GCC support is given for a macro implementation which enables the possibility of use. See below for more details.
C# Green tickY [6]
C++ Green tickY As of the C++11 standard
CFML Green tickY As of Railo 4,[7] ColdFusion 10[8]
Clojure Green tickY [9]
COBOL Red XN Micro Focus's non-standard Managed COBOL dialect supports lambdas, which are called anonymous delegates/methods.[10]
Curl Green tickY
D Green tickY [11]
Dart Green tickY [12]
Delphi Green tickY [13]
Dylan Green tickY [14]
Eiffel Green tickY
Elm Green tickY [15]
Elixir Green tickY [16]
Erlang Green tickY [17]
F# Green tickY [18]
Excel Green tickY Excel worksheet function, 2021 beta release[19]
Factor Green tickY "Quotations" support this[20]
Fortran Red XN
Frink Green tickY [21]
Go Green tickY [22]
Gosu Green tickY [23]
Groovy Green tickY [24]
Haskell Green tickY [25]
Haxe Green tickY [26]
Java Green tickY Supported since Java 8.
JavaScript Green tickY [27]
Julia Green tickY [28]
Kotlin Green tickY [29]
Lisp Green tickY
Logtalk Green tickY
Lua Green tickY [30]
MUMPS Red XN
Maple Green tickY [31]
MATLAB Green tickY [32]
Maxima Green tickY [33]
Nim Green tickY [34]
OCaml Green tickY [35]
Octave Green tickY [36]
Object Pascal Green tickY Delphi, a dialect of Object Pascal, supports anonymous functions (formally, anonymous methods) natively since Delphi 2009. The Oxygene Object Pascal dialect also supports them.
Objective-C (Mac OS X 10.6+) Green tickY Called blocks; in addition to Objective-C, blocks can also be used on C and C++ when programming on Apple's platform.
OpenSCAD Green tickY Function Literal support was introduced with version 2021.01.[37]
Pascal Red XN
Perl Green tickY [38]
PHP Green tickY As of PHP 5.3.0, true anonymous functions are supported.[39] Formerly, only partial anonymous functions were supported, which worked much like C#'s implementation.
PL/I Red XN
Python Green tickY Python supports anonymous functions through the lambda syntax,[40] which supports only expressions, not statements.
R Green tickY
Racket Green tickY [41]
Raku Green tickY [42]
Rexx Red XN
RPG Red XN
Ruby Green tickY Ruby's anonymous functions, inherited from Smalltalk, are called blocks.[43]
Rust Green tickY [44]
Scala Green tickY [45]
Scheme Green tickY
Smalltalk Green tickY Smalltalk's anonymous functions are called blocks.
Standard ML Green tickY [46]
Swift Green tickY Swift's anonymous functions are called Closures.[47]
TypeScript Green tickY [48]
Typst Green tickY [49]
Tcl Green tickY [50]
Vala Green tickY [50]
Visual Basic .NET v9 Green tickY [51]
Visual Prolog v 7.2 Green tickY [52]
Wolfram Language Green tickY [53]
Zig Red XN [54]

Examples of anonymous functions

[edit]
Main article: Examples of anonymous functions

See also

[edit]
  • iconComputer programming portal
  • First-class function
  • Lambda calculus definition

References

[edit]
  1. ^ "Higher order functions". learnyouahaskell.com. Retrieved 3 December 2014.
  2. ^ Fernandez, Maribel (2009), Models of Computation: An Introduction to Computability Theory, Undergraduate Topics in Computer Science, Springer Science & Business Media, p. 33, ISBN 9781848824348, The Lambda calculus ... was introduced by Alonzo Church in the 1930s as a precise notation for a theory of anonymous functions
  3. ^ "Arrow function expressions - JavaScript". MDN. Retrieved August 21, 2019.
  4. ^ "Access Types". www.adaic.org. Retrieved 2024-06-27.
  5. ^ "Bash lambda". GitHub. 2019-03-08.
  6. ^ BillWagner. "Lambda expressions - C# reference". docs.microsoft.com. Retrieved 2020-11-24.
  7. ^ "Closure support". Archived from the original on 2014-01-06. Retrieved 2014-01-05.
  8. ^ "Whats new in ColdFusion 10". Archived from the original on 2014-01-06. Retrieved 2014-01-05.
  9. ^ "Clojure - Higher Order Functions". clojure.org. Retrieved 2022-01-14.
  10. ^ "Managed COBOL Reference". Micro Focus Documentation. Micro Focus. Retrieved 25 February 2014.{{cite web}}: CS1 maint: deprecated archival service (link)
  11. ^ "Functions - D Programming Language". dlang.org. Retrieved 2022-01-14.
  12. ^ "A tour of the Dart language". dart.dev. Retrieved 2020-11-24.
  13. ^ "Anonymous Methods in Delphi - RAD Studio". docwiki.embarcadero.com. Retrieved 2020-11-24.
  14. ^ "Functions — Dylan Programming". opendylan.org. Retrieved 2022-01-14.
  15. ^ "docs/syntax". elm-lang.org. Retrieved 2022-01-14.
  16. ^ "Erlang/Elixir Syntax: A Crash Course". elixir-lang.github.com. Retrieved 2020-11-24.
  17. ^ "Erlang -- Funs". erlang.org. Retrieved 2020-11-24.
  18. ^ cartermp. "Lambda Expressions: The fun Keyword - F#". docs.microsoft.com. Retrieved 2020-11-24.
  19. ^ "LAMBDA: The ultimate Excel worksheet function". microsoft.com. 25 January 2021. Retrieved 2021-03-30.
  20. ^ "Quotations - Factor Documentation". Retrieved 26 December 2015. A quotation is an anonymous function (a value denoting a snippet of code) which can be used as a value and called using the Fundamental combinators.
  21. ^ "Frink". frinklang.org. Retrieved 2020-11-24.
  22. ^ "Anonymous Functions in GoLang". GoLang Docs. 9 January 2020. Retrieved 2020-11-24.
  23. ^ "Gosu Documentation" (PDF). Retrieved 4 March 2013.
  24. ^ "Groovy Documentation". Archived from the original on 22 May 2012. Retrieved 29 May 2012.
  25. ^ "Anonymous function - HaskellWiki". wiki.haskell.org. Retrieved 2022-01-14.
  26. ^ "Lambda". Haxe - The Cross-platform Toolkit. Retrieved 2022-01-14.
  27. ^ "Functions - JavaScript | MDN". developer.mozilla.org. Retrieved 2022-01-14.
  28. ^ "Functions · The Julia Language". docs.julialang.org. Retrieved 2020-11-24.
  29. ^ "Higher-Order Functions and Lambdas - Kotlin Programming Language". Kotlin. Retrieved 2020-11-24.
  30. ^ "Programming in Lua : 6". www.lua.org. Retrieved 2020-11-24.
  31. ^ "Maple Programming: 1.6: Anonymous functions and expressions - Application Center". www.maplesoft.com. Retrieved 2020-11-24.
  32. ^ "Anonymous Functions - MATLAB & Simulink". www.mathworks.com. Retrieved 2022-01-14.
  33. ^ "Maxima 5.17.1 Manual: 39. Function Definition". maths.cnam.fr. Retrieved 2020-11-24.
  34. ^ "Nim Manual". nim-lang.github.io.
  35. ^ "Code Examples – OCaml". ocaml.org. Retrieved 2020-11-24.
  36. ^ "GNU Octave: Anonymous Functions". octave.org. Retrieved 2020-11-24.
  37. ^ "Function Literals". OpenSCAD User Manual. Wikibooks. Retrieved 22 February 2021.
  38. ^ "perlsub - Perl subroutines - Perldoc Browser". perldoc.perl.org. Retrieved 2020-11-24.
  39. ^ "PHP: Anonymous functions - Manual". www.php.net. Retrieved 2020-11-24.
  40. ^ "6. Expressions — Python 3.9.0 documentation". docs.python.org. Retrieved 2020-11-24.
  41. ^ "4.4 Functions: lambda". docs.racket-lang.org. Retrieved 2020-11-24.
  42. ^ "Functions". docs.raku.org. Retrieved 2022-01-14.
  43. ^ Sosinski, Robert (2008-12-21). "Understanding Ruby Blocks, Procs and Lambdas". Reactive.IO. Archived from the original on 2014-05-31. Retrieved 2014-05-30.
  44. ^ "Closures: Anonymous Functions that Can Capture Their Environment - The Rust Programming Language". doc.rust-lang.org. Retrieved 2022-01-14.
  45. ^ "Anonymous Functions". Scala Documentation. Retrieved 2022-01-14.
  46. ^ "Recitation 3: Higher order functions". www.cs.cornell.edu. Retrieved 2022-01-14.
  47. ^ "Closures — The Swift Programming Language (Swift 5.5)". docs.swift.org.
  48. ^ "Documentation - Everyday Types". www.typescriptlang.org. Retrieved 2022-01-14.
  49. ^ "Function Type - Typst Documentation". typst.app. Retrieved 2024-09-10.
  50. ^ a b "Projects/Vala/Tutorial - GNOME Wiki!". wiki.gnome.org. Retrieved 2020-11-24.
  51. ^ KathleenDollard (15 September 2021). "Lambda Expressions - Visual Basic". docs.microsoft.com. Retrieved 2022-01-14.
  52. ^ "Language Reference/Terms/Anonymous Predicates - wiki.visual-prolog.com". wiki.visual-prolog.com. Retrieved 2022-01-14.
  53. ^ "Pure Anonymous Function: Elementary Introduction to the Wolfram Language". www.wolfram.com. Retrieved 2022-01-14.
  54. ^ "Lambdas, Closures and everything in between · Issue #1048 · ziglang/zig". GitHub. Retrieved 2023-08-21.

External links

[edit]
  • Anonymous Methods - When Should They Be Used? (blog about anonymous function in Delphi)
  • Compiling Lambda Expressions: Scala vs. Java 8
  • php anonymous functions php anonymous functions
  • Lambda functions in various programming languages
  • Functions in Go
  • v
  • t
  • e
Programming paradigms
Imperative
Structured
  • Jackson structures
  • Block-structured
  • Modular
  • Non-structured
  • Procedural
  • Programming in the large and in the small
  • Design by contract
  • Invariant-based
  • Nested function
Object-oriented
  • Class-based, Prototype-based, Object-based
  • Agent
  • Immutable object
  • Persistent
  • Uniform function call syntax
Declarative
Functional
  • Recursive
  • Anonymous function (Partial application)
  • Higher-order
  • Purely functional
  • Total
  • Strict
  • GADTs
  • Dependent types
  • Functional logic
  • Point-free style
  • Expression-oriented
  • Applicative, Concatenative
  • Function-level, Value-level
  • Monad
Dataflow
  • Flow-based
  • Reactive (Functional reactive)
  • Signals
  • Streams
  • Synchronous
Logic
  • Abductive logic
  • Answer set
  • Constraint (Constraint logic)
  • Inductive logic
  • Nondeterministic
  • Ontology
  • Probabilistic logic
  • Query
Domain-
specific
language

(DSL)
  • Algebraic modeling
  • Array
  • Automata-based (Action)
  • Command (Spacecraft)
  • Differentiable
  • End-user
  • Grammar-oriented
  • Interface description
  • Language-oriented
  • List comprehension
  • Low-code
  • Modeling
  • Natural language
  • Non-English-based
  • Page description
  • Pipes and filters
  • Probabilistic
  • Quantum
  • Scientific
  • Scripting
  • Set-theoretic
  • Simulation
  • Stack-based
  • System
  • Tactile
  • Templating
  • Transformation (Graph rewriting, Production, Pattern)
  • Visual
Concurrent,
parallel
  • Actor-based
  • Automatic mutual exclusion
  • Choreographic programming
  • Concurrent logic (Concurrent constraint logic)
  • Concurrent OO
  • Macroprogramming
  • Multitier programming
  • Organic computing
  • Parallel programming models
  • Partitioned global address space
  • Process-oriented
  • Relativistic programming
  • Service-oriented
  • Structured concurrency
Metaprogramming
  • Attribute-oriented
  • Automatic (Inductive)
  • Dynamic
  • Extensible
  • Generic
  • Homoiconicity
  • Interactive
  • Macro (Hygienic)
  • Metalinguistic abstraction
  • Multi-stage
  • Program synthesis (Bayesian, by demonstration, by example, vibe coding)
  • Reflective
  • Self-modifying code
  • Symbolic
  • Template
Separation
of concerns
  • Aspects
  • Components
  • Data-driven
  • Data-oriented
  • Event-driven
  • Features
  • Literate
  • Roles
  • Subjects
Comparisons/Lists
Comparison (multi-paradigm, object-oriented, functional), List (OO, by type)
Retrieved from "https://teknopedia.ac.id/w/index.php?title=Anonymous_function&oldid=1339036988"
Categories:
  • Data types
  • Functional programming
  • Lambda calculus
  • Subroutines
Hidden categories:
  • CS1: unfit URL
  • CS1 maint: deprecated archival service
  • Articles with short description
  • Short description matches Wikidata
  • Articles needing additional references from February 2018
  • All articles needing additional references
  • Incomplete lists from August 2008
  • Articles with example code
  • Articles with example C code
  • Articles with example C++ code
  • Articles with example C Sharp code
  • Articles with example D code
  • Articles with example Java code
  • Articles with example JavaScript code
  • Articles with example Julia code
  • Articles with example Lisp (programming language) code
  • Articles with example MATLAB/Octave code
  • Articles with example PHP code
  • Articles with example Python (programming language) code
  • Articles with example R code
  • Articles with example Ruby code
  • Articles with example Scala code
  • Articles with example Smalltalk code
  • Articles with example Tcl code

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id